现在的位置: 首页 > 综合 > 正文

CMake编译opencv等库的通用方法

2018年04月22日 ⁄ 综合 ⁄ 共 1900字 ⁄ 字号 评论关闭

网上有很多关于CMake编译OPENCV 等库的很好的教程,我觉得对我很有帮助的博文“

http://blog.csdn.net/qiurisuixiang/article/details/8665278

其中的各种工具下载,步骤解说很详细,大家可以跟着配置,因为版权问题,不予截图或者复制。

/////////////////////////////////////下方啰嗦高能,心急者可以先看下一行注释后面的具体操作

感谢这位博主,内容太赞了。但是博文中依然存在一些问题,就是博主的每一步都是对的,你只能照他的方法走,一旦出错,你根本没有办法独立解决。

提两个问题:

为什么不能编译新版本的opencv,难道opencv不支持?我想这种肯能性很小吧。

cmake编译出现警告该怎么改?为什么cmake会出现警告,难道是cmakefile文件的设计人员故意的?


其实一开始我们的做法都是错的,初学者进行cmake的编译过程是不合适的。

我们的过程(如果跟着博客):

选择qt(越高越好)->选择cmake->(新版)->选择opencv(或者其他库)

我的选择,qt5,4.0,cmake3,1 opencv3.0(博主推荐低版本的,但是我是处女座)

到最后自己要用的opencv却不能用最新版的了,这对于处女座简直是最大的折磨,so,我花了好几天依然没办法配置成功,都要气馁的时候,我开始和一位兄台一样的想法:



我都想换opencv的版本的时候,心里忍不住抱怨:opencv的cmakefile文件你们(开发人员)都不会测试下吗,不会弄一个没警告的吗,没有测试人员吗!!!!小公司都有~,想到这,我觉得自己是个2,小公司都有呀,他们怎么可能不做。

在从新审视下,我的选择:1-qt5,4.0        2-cmake3,1       3-opencv3.0。其实这个选择过程好像是1,2决定3的选择,3的版本有问题,那么就错误。这就是我们的错误的地方。其实从根本上,我们要用的是qt和opencv,而cmake只是个中间产物,而cmake要做的是把opencv转化为qt能用的东西,这就像解方程留下个中间变量在最后的结果表达式中,我们应该先选择opencv。

那么多的心理活动后,我想到了既然opencv选择好,那么我怎么选择cmake呢,灵光一闪,我想到了opencv的cmakefile

然后我去了opencv的cmakefile文件中看了一个东西,当初那群opencv开发人员选择的cmake版本:

方框里告诉我们:孩子,你是要用cmake编译opencv吗,我们只认2.8.8的哦。我选择3.1的版本就像拿了信用卡消费---艹!选在了原始部落用,人家不认识,给你个警告还是轻的。


所以,如果你想编译opencv什么的库呀,做法的具体步骤:

/////////////////////////////////////////////////////////////////////////////////////////////具体操作

1.下载你想用的库:比如我就想用最新版的opencv3.0(处女座惹不起)

2 打开你的库文件目录下的cmakefile文件,我的路径是opencv\sources\cmakefile

3 在文件开始处查看你用的库默认的cmake版本,下载。我的如图,cmake 2.8.8

cmake操作

4  configure下

            选择你要配置的环境 WITH_QT WITH_OPENGL

5 configure下      

               

              是一连串的错误,翻译过来就是:老大我找不到他,咋办。我说,咋办等着我问下度娘。度娘说,那哥们会:http://www.cppblog.com/Error/archive/2013/04/13/199407.aspx。。。这哥们说,我从外国学的:http://stackoverflow.com/questions/15639781/how-to-find-qt5-cmake-module-on-windows。得嘞,我说小弟,听着这么办:

         (1) Add Entry按钮

添加变量 CMAKE_PREFIX_PATH
路径:选择你的IDE的编译器所在路径 我的路径是 D:\Qt\Qt5.4.0\5.4\mingw491_32

               

然后才是我推荐的博文的步骤。

所以,如果你用cmake出警告,嘿嘿,是不是忙好几天了,有人和我一样了,好开心~~祝各位早日解决。

我觉得大牛的选择是:选择自己合适的opencv 选择cmake 咦,有警告修改,还有,再修改。。。。

ph~你的方向错了


抱歉!评论已关闭.