最终环境:
- OS X EI Capitan
- OpenCV3
- Xcode 7.2
编译安装
编译安装的过程OpenCV2和3都一样,先下载源代码,解压,进入文件夹
1 | mkdir release |
安装完成后文件头文件在/usr/local/lib中,库文件在/usr/local/include中。
安装过程中需要下载ippicv_macosx_20141027.tgz,如果下载不成功的话就手动下载,丢到报错的目录下,即可解压完成安装。
之后在Xcode中新建工程,在Build Settings -> Search Paths -> Header Search Paths 和 Library Search Paths中分别添加/usr/local/lib和/usr/local/include。
最后在文件目录里新建一个OpenCV Framwork的文件夹,右键添加文件,在弹出的窗口中输入/usr/local/lib,把OpenCV相关的dylib文件全部加进来。这个步骤中会把文件拷贝到工程目录下,所以删除的时候不必担心。
这样OpenCV就可以使用了。
Xcode编译选项
接下来在Xcode中配置。
首先打开工程文件的Build Settings,找到Search Paths,在Header里添加/usr/local/include
,在Library里添加/usr/local/lib
。
之后有两种方法:
方法一(简单,推荐
在Library里继续添加/usr/local/lib/opencv
,然后在工程上右键,Add Files。在打开的窗口中输入/usr/local/lib
敲回车,把所有的.dylib文件都添加进来。
方法二
还在Build Settings里,找到Linking,在Other Linker Flags里添加如下一段:
1 | -lopencv_calib3d -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videoio -lopencv_videostab |
可以起到同样的方法。
Xcode输出配置
此时OpenCV可以使用,但是每次点击运行的话,生成的可执行文件都在/Users/$username/Library/Developer/Xcode/DerivedData/$ProjectName+$Hash/Build/Products/Debug
下,非常难找。如果生成的可执行文件和VS一样在工程文件夹下就好了。
配置方法是,在Xcode中command+,打开设置,选择Locations Tab,点击Advanced。把Building Location从Unique改成Legacy。这样文件调试就方便许多。
OpenCV头文件
编译的时候还应该添加头文件,绝大多数情况下这两个就够用了:
1 |
也有说法是:
1 |
可以满足大部分要求。
以及还可以加上:
1 |
也无妨
最后
OpenCV不要用~/
开头的相对路径
OpenCV不要用~/
开头的相对路径
OpenCV不要用~/
开头的相对路径
因为被坑了一晚上所以要说三遍!