文章目录
CMake:简介及工程应用,及为什么要用CMake,使用CMake自动构建工程
mark一下,回头更
cmake编译opencv源码
cmake官网:https://cmake.org/
下Previous Release,稳定点
我下了两个,一个Windows Source (has \r\n line feeds),还有一个Windows x64 ZIP,两个有啥区别?我也不懂,ԾㅂԾ,
用不是源码那个,解压可用
然后根据CMake编译OpenCV走一遍就ok了,但是走不通!
这个也讲了如何用cmake编译
玩转OpenCV3——contrib库
可参考但不建议
这个编译opencv4.4.0,跟我版本一样,跟这个跑一遍
opencv4.4.0(含contrib)编译+cmake+vs2017
但是我还是编译不过?看这个试试:vs2019编译opencv
分割线
编译过程中遇到报错,就去找那个CMakeDownloadLog.txt看里面报错的准确信息,该下载的文件去下载,然后放到.cache文件夹中,当然还有些文本文件自己下载替换都不行。。。只能自己看着办了
需要注意的一点是,在下载文件的过程中,有的文件文件名头部会有校验码
,该校验码是以文件内容生成的,如果文件内容与标准不一致,生成的校验码就不对,所以不要以复制文件内容的方式下载文件,而要直接去下载文件本身,例如对于以.i
结尾的文件,你可以查看CMakeDownloadLog.txt找到文件下载链接,在浏览器打开,然后右键网页另存为,保存为文件,替换.cache中不能下载的文件
如果你开了梯子,那么麻烦能减少很多,起码很多文件它都能帮你下好
这里注意需要勾选的地方有两项,nonfree
、world
,以及 path要指定下载的contrib中的modules路径
(直接搜关键词)
一直点configure,最后只有一个警告没法解决(这个不用管它),还有遇到的一些问题比如需要安装python2.7
,那就安装一下,选默认安装方式就行;
完后就直接点generate
然后会生成.vcxproj
的项目工程文件,用VS打开它编译
点生成,批生成
然后就能生成需要的库了
因为我的python3.7装到D盘,用visual studio编译时会提示找不到python37_d.lib
,这是一方面因为python安装时没选这两项造成的 ,重新打开python安装程序modify下即可,另一方面是python不是默认安装路径,VS找不到python37_d.lib
,这个找到报错的项目,然后右键属性,直接在链接器-输入-附加依赖项那指定一下路径即可,然后再编译就不会提示找不到了
我发现,在bin文件夹、install、lib文件夹里生成了一些同样的opencv-world动态静库,像bin里面是一些.exe文件,这些动静态库都是生成后拷过去的,install和lib则是我们做项目引用的时候需要拷过去的
另外,如果这些想要分享给python用,可参考:https://cv-tricks.com/how-to/installation-of-opencv-4-1-0-in-windows-10-from-source/
以及:如何从OpenCV源码编译生成OpenCV-Python的SDK开发包
以后还能在python里把它打包成.wheel
给调包侠用