如何在Cocoa应用程序中包含OpenCV?

Fab*_*ian 7 xcode cocoa opencv

当我使用'命令行工具'c ++ stdc ++模板创建一个xCode项目时,我能够包含和编译opencv头并运行一些代码.

但我想在'Cocoa Application'环境中使用OpenCV.使用该模板创建时,我在main.mm中包含OpenCV头时出现编译错误.(我已将main.m更改为main.mm,'// NSApplicationMain(argc,(const char**)argv);'已注释掉)

其中一个错误是:"只允许在函数内部使用语句表达式"

我想它的某种编译器版本错误,但是当我比较项目构建设置时,我找不到差异.

你有什么想法/专业知识吗?

Ian*_*nas 18

我遇到了同样的问题,我花了2天时间进行严格的系统跟踪,正如预期的那样,解决方案非常简单,一个8岁的人可以比我更快地找到它.

准备好了吗?

在要使用OpenCV的.mm文件中,您需要#include "opencv2/opencv.hpp"在任何其他包含之前执行此操作.而已!只需将它移动一条线,看着你的问题神奇地消失得比真正将房间捆绑在一起的地毯更快.

这是适用于OpenCV 2.2的方式,因此是新的包含文件.此外,如果您的XCode项目使用前缀头文件(在"其他来源"中查找"YourProjectName_Prefix.pch"文件),那么您需要将其放在#include "opencv2/opencv.hpp"那里而不是任何其他文件中.


pet*_*ert 1

尝试添加:-lstdc++到 Cocoa 应用程序构建设置中的“其他链接器标志”。

默认情况下,由 Xcode 模板制作的 cocoa 应用程序不会在其设置中链接包括 c++ 库。