使用Xcode为OS X Lion/Mountain Lion编译OpenCV(2.3.1+)

dom*_*dom 6 macos xcode opencv osx-lion

任何人都可以为我提供一些如何使用Xcode在OS X Lion上编译OpenCV 2.3.1的详细指南吗?

我对此感到生气...我得到了源码,使用cmake创建Xcode模板并尝试构建它,但它失败了大约200个错误.

在此先感谢,Dom

解答我的回答帖子.

dom*_*dom 15

详细指南如何使用MacPorts在Xcode 4.2.1的OS X Lion(10.7.2)下启动和运行OpenCV 2.3.1

编辑08/06/2012:这也适用于OpenCV 2.4.1.只需确保您获得最新版本的Xcode并安装"命令行工具"(Xcode - >首选项 - >下载 - >命令行工具).

编辑15/08/2012:使用Mountain Lion和当前版本的Xcode和OpenCV测试了所有内容...它正在运行:)而且您不必使用LLVM编译器.

编辑16/10/204:在过去的一年里,我放弃了MacPorts并开始使用brew,这对我的目的更有效.

酿造指南

1.)在这里获取当前版本的Brew .

2.)确保brew已经准备就绪

brew doctor && brew update 
Run Code Online (Sandbox Code Playgroud)

3.)安装OpenCV(截至2014年7月20日v2.4.9)

brew install opencv
Run Code Online (Sandbox Code Playgroud)

4.)启动Xcode(截至2014年7月17日v6.0.1)并打开/创建您的项目

5.)选择目标,转到"常规"并点击"链接的框架和库"中的"+" - 按钮

5.1.)点击"添加其他",点击"/",转到"/ usr/local/lib"并添加你需要的任何libopencv _**.dylib

6.)现在将"/ usr/local/include"添加到"Build Settings"下的"Header Search Paths"(目标仍然被选中)

7.)最后确保在.mm文件中包含OpenCV.

MacPorts指南(可能已过时)

1.)在此处获取当前版本的MacPorts .不要忘记将"/ opt/local /(s)bin"添加到您的环境路径中

export PATH=/opt/local/bin:/opt/local/sbin:$PATH
Run Code Online (Sandbox Code Playgroud)

2.)保持您的MacPorts 2日期:

sudo port -v selfupdate
Run Code Online (Sandbox Code Playgroud)

3.)安装OpenCV 2.3.1(使用llvm-gcc构建)

sudo port install opencv configure.compiler=llvm-gcc-4.2
Run Code Online (Sandbox Code Playgroud)

4.)启动Xcode并创建项目

5.)选择目标,转到"摘要"并点击"链接的框架和库"中的"+" - 按钮

5.1.)点击"添加其他",点击"/"然后转到"/ opt/local/lib"

5.2.)添加你需要的任何libopencv _**.dylib

6.)现在将"/ opt/local/include /"添加到"Build Settings"下的"Header Search Paths"(目标仍然被选中)

7.)最后确保在.pch文件的开头有以下几行:

#ifdef __cplusplus
  #import "opencv2/opencv.hpp"
#endif
Run Code Online (Sandbox Code Playgroud)

否则你会得到一些令人讨厌的错误:

"Non-const static data member must be initialized out of line"
"Statement expression not allowed at file scope"
Run Code Online (Sandbox Code Playgroud)

而已!希望能帮助到你 :)