在macOS Sierra 10.12.2上编译openCV3.1+ opencv_contrib

2016-12-19 11:36:57来源:CSDN作者:Gkx_Hope人点击


网上的很多版本,都是manOS 10.12以下的,但是编译会有问题,原因是OS X 10.12在升级过程中将原有的QTKit.framework进行了更改,所导致编译open CV报错:'QTKit/QTKit.h' file not found,插了很多办法,有以下几种:

1. 拷贝未升级到10.12的系统中的QTKit.Framework文件夹到系统

2. 提取QTKit文件夹到opencv对应模块源码中

3.使用brew install opencv3 --HEAD --...............命令安装


这三种我都试过了:

1.第一种没有成功,而且这种方法有一个问题就是会在随后的升级中造成混乱,比较意见移除了支持,强行使用终会出问题。

2.第二种成功但是随后继续报错'Quicktime.h' 未找到,无法继续解决。

3.第三种,额,刚接触,不知道到底安装了个什么,也没有找到库,头文件等,而且还会出现一个问题,opencv is already install but not link ,这个我也不会解决,好尴尬,尴尬尴尬


随后开始Google,在GitHub上找,终于找到了解决办法,其实开发团队已经在最新的代码中修正的错误,只不过还没有真是发布,--HEAD指令的作用就是安装这个版本,只不过不会用,,,,


现在已经将可以成功编译的文件上传的百度网盘,方便大家使用

//opencv 3.1//链接: https://pan.baidu.com/s/1nvfi7Jr 密码: jbfb//opencv_contrib//链接: https://pan.baidu.com/s/1c29SY6s 密码: x2kz//编译好的Lib文件//链接: https://pan.baidu.com/s/1hrXlh3Y 密码: rs3d

编译器使用CMake 3.7.1 去官网下载最新版forMac即可,如下图所示,





选择好源码路径,编译路径之后,点击Configure,CMake会自动识别可以的选项,这个根据个人具体需要微调,可能出现的错误就是(ovc_add_text?) 未知的CMake命令,根据提示进入对应的CMakeList中注释使用该指令的语句,如果有遇到无法解决的,可以留言,具体记不清楚了。


调试到没有错误,点击Generate,生成MakeFile文件。


编译:

打开终端,CD到build目录,输入编译命令make -j2开始编译。

可能遇到的错误就是text模块错误,暂时用不上,make clean后,在CMake中取消勾选text模块,这个是文字识别的,暂时用不上,还有就是Tracking模块中头文件找不到,但是文件实际存在,但是路径错误,由于不太熟悉,直接复制用到的几个文件到Tracking的src中,修改.hpp,去掉include时的路径,直接使用,编译通过。


之后就是输入 sudo make install 安装,完成编译,至此,编译完成。






可能还会遇到其他问题,但是请开动脑筋自己解决,比较过程是很爽的。


最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台