cmake教程(为什么要用cmake?)(cmake编译opencv)(就是个跨平台的编译工具Linux、windows)(很重要,必须得学)(报错解决方案)opencv编译

本文详细记录了使用CMake编译OpenCV 4.4.0源码的过程,包括下载源码、配置CMake、解决编译错误以及在Visual Studio 2017/2019中的编译步骤。在编译过程中,提到了可能遇到的Python依赖问题以及如何解决。此外,还分享了如何处理下载文件的校验码问题,并指出生成的库文件在不同目录的作用。最后,文章提及了将编译结果应用于Python的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

opencv-contrib4.4.0

但是我还是编译不过?看这个试试:vs2019编译opencv


分割线

编译过程中遇到报错,就去找那个CMakeDownloadLog.txt看里面报错的准确信息,该下载的文件去下载,然后放到.cache文件夹中,当然还有些文本文件自己下载替换都不行。。。只能自己看着办了

需要注意的一点是,在下载文件的过程中,有的文件文件名头部会有校验码,该校验码是以文件内容生成的,如果文件内容与标准不一致,生成的校验码就不对,所以不要以复制文件内容的方式下载文件,而要直接去下载文件本身,例如对于以.i结尾的文件,你可以查看CMakeDownloadLog.txt找到文件下载链接,在浏览器打开,然后右键网页另存为,保存为文件,替换.cache中不能下载的文件

如果你开了梯子,那么麻烦能减少很多,起码很多文件它都能帮你下好

这里注意需要勾选的地方有两项,nonfreeworld,以及 path要指定下载的contrib中的modules路径(直接搜关键词)extra

在这里插入图片描述
在这里插入图片描述

一直点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给调包侠用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dontla

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值