如何构建使用 OpenCV 的 XCode 6 iOS 应用程序 - 未定义错误__cplusplus



我在使用 OpenCV 运行 xcode 项目时遇到问题。我已经按照此页面上的说明构建了适用于iOS的OpenCV框架。然后,我按照本教程构建了一个测试应用。

但是当我尝试构建时,看起来__cplusplus没有定义,因为

#ifdef __cplusplus
    #import <opencv2/opencv.hpp>
#endif

不执行。

我似乎无法让我的项目编译可以使其工作的 c++ 文件。任何指示将不胜感激。

我已经确保我的构建设置知道 .pch 文件,并仔细检查框架是否已添加。

我使用的是OS X Yosemite 10.10.1,Xcode 6.1.1,我创建的应用程序类型是单视图应用程序

更新

看起来它正在编译__cplusplus块。我在 #ifdef 块中 #define 了一个变量,当我 NSLoged 它时,它出现了。似乎只是找不到文件

opencv2/highgui/cap_ios.h

更新 2

除了下面@NobodyNada关于将 .m 文件更改为 .mm 的评论外,我还必须将导入语句从

opencv2/highgui/cap_ios.h -> opencv2/videoio/cap_ios.h.

我从@ToyHunter在这篇 SO 帖子中的回答中发现了这一点。

您必须更改将 OpenCV 导入 .mm 的所有文件的文件扩展名。 OpenCV是一个C++的API,将文件的扩展名更改为.mm会将文件中使用的语言更改为Objective-C++,这使您可以混合使用C++和Objective-C。

相关内容

最新更新