详细指南如何使用 MacPorts 使用 Xcode 4.2.1 在 OS X Lion (10.7.2) 下启动并运行 OpenCV 2.3.1
EDIT 08/06/2012: 这也适用于 OpenCV 2.4.1。只需确保您获得了最新版本的 Xcode 并安装了“命令行工具”(Xcode -> 首选项 -> 下载 -> 命令行工具)。
编辑 15/08/2012: 使用 Mountain Lion 以及当前版本的 Xcode 和 OpenCV 测试了所有内容……它正在工作 :) 你不必使用LLVM 编译器。
编辑 16/10/204: 去年我放弃了 MacPorts 并开始使用 brew,它更适合我的目的。
酿造指南
1.) 获取当前版本的 Brew here。
2.) 确保 brew 已准备就绪
brew doctor && brew update
3.) 安装 OpenCV(截至 2014 年 17 月 20 日 v2.4.9)
brew install opencv
4.) 启动 Xcode(截至 17/20/2014 v6.0.1)并打开/创建您的项目
5.) 选择您的目标,转到“常规”并点击“链接框架和库”中的“+”按钮
5.1.) 点击“Add Other”,点击“/”,进入“/usr/local/lib”并添加任何你需要的libopencv_**.dylib
6.) 现在将“/usr/local/include”添加到“构建设置”下的“标题搜索路径”中(目标仍处于选中状态)
7.) 最后确保在您的 .mm 文件中包含 OpenCV。
MacPorts 指南(可能已过时)
1.) 获取 MacPorts here 的当前版本。不要忘记将“/opt/local/(s)bin”添加到您的环境路径
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
2.) 让您的 MacPorts 保持最新:
sudo port -v selfupdate
3.) 安装 OpenCV 2.3.1(使用 llvm-gcc 构建)
sudo port install opencv configure.compiler=llvm-gcc-4.2
4.) 启动 Xcode 并创建您的项目
5.) 选择您的目标,转到“摘要”并点击“链接框架和库”中的“+”按钮
5.1.) 点击“添加其他”,点击“/”并转到“/opt/local/lib”
5.2.) 添加任何你需要的 libopencv_**.dylib
6.) 现在将“/opt/local/include/”添加到“构建设置”下的“标题搜索路径”中(目标仍处于选中状态)
7.) 最后确保在 .pch 文件的开头有以下几行:
#ifdef __cplusplus
#import "opencv2/opencv.hpp"
#endif
否则你会得到一些像这样令人讨厌的错误:
"Non-const static data member must be initialized out of line"
"Statement expression not allowed at file scope"
就是这样!希望它有所帮助:)