我在使用 OpenCV 运行 xcode 项目时遇到问题。我已按照此 page 上的说明进行操作为 iOS 构建 OpenCV 框架。然后我跟着这个tutorial构建测试应用。
但是当我尝试构建时,似乎 __cplusplus 没有定义,因为
#ifdef __cplusplus
#import <opencv2/opencv.hpp>
#endif
没有执行。
我似乎无法让我的项目编译 C++ 文件以使其正常工作。任何指针将不胜感激。
我已确保我的build设置知道 .pch 文件,并仔细检查框架是否已添加。
我在 OS X Yosemite 10.10.1、Xcode 6.1.1 上,我创建的应用程序类型是单 View 应用程序
更新
看起来它正在编译 __cplusplus block 。我在#ifdef block 中#define 一个变量,当我对它进行NSLogged 时,它出现了。好像只是找不到文件
opencv2/highgui/cap_ios.h
更新 2
除了下面@NobodyNada 关于将 .m 文件更改为 .mm 的评论之外,我还必须更改导入语句
opencv2/highgui/cap_ios.h -> opencv2/videoio/cap_ios.h.
我从@ToyHunter 在此 SO post 中的回答中发现了这一点.
最佳答案
您必须将所有导入 OpenCV 的文件的文件扩展名更改为 .mm
。 OpenCV 是一个 C++ API,将文件的扩展名更改为 .mm
会将文件中使用的语言更改为 Objective-C++,这样您就可以混合使用 C++ 和 Objective-C。
关于c++ - 如何构建使用 OpenCV 的 XCode 6 iOS 应用程序 - 未定义错误 __cplusplus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28310511/