如何构建使用 OpenCV 的 XCode 6 iOS 应用程序 - 未定义错误 __cplusplus
How to build an XCode 6 iOS app that uses OpenCV - Error __cplusplus is not defined
我在使用 OpenCV 的 运行 一个 xcode 项目中遇到问题。我已按照此 page to build the OpenCV framework for iOS. Then I followed this tutorial 上的说明构建了一个测试应用程序。
但是当我尝试构建时,似乎 __cplusplus 未定义,因为
#ifdef __cplusplus
#import <opencv2/opencv.hpp>
#endif
没有执行。
我似乎无法让我的项目编译 C++ 文件来让它工作。任何指针将不胜感激。
我已确保我的构建设置知道 .pch 文件,并仔细检查框架是否已添加。
我在 OS X Yosemite 10.10.1,Xcode 6.1.1,我创建的应用程序类型是单视图应用程序
更新
看起来是编译__cplusplus块。我在#ifdef 块中#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 .
我在使用 OpenCV 的 运行 一个 xcode 项目中遇到问题。我已按照此 page to build the OpenCV framework for iOS. Then I followed this tutorial 上的说明构建了一个测试应用程序。
但是当我尝试构建时,似乎 __cplusplus 未定义,因为
#ifdef __cplusplus
#import <opencv2/opencv.hpp>
#endif
没有执行。
我似乎无法让我的项目编译 C++ 文件来让它工作。任何指针将不胜感激。
我已确保我的构建设置知道 .pch 文件,并仔细检查框架是否已添加。
我在 OS X Yosemite 10.10.1,Xcode 6.1.1,我创建的应用程序类型是单视图应用程序
更新
看起来是编译__cplusplus块。我在#ifdef 块中#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 .