如何构建使用 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 .