本文参考以下文章:
https://blog.csdn.net/weixin_43763292/article/details/112975207
https://blog.csdn.net/qq_44743171/article/details/124335100
使用软件
QT 5.14.2
下载地址:download.qt.io
选择版本:Qt 5.14.2
Qt 5.14.2百度网盘链接:https://pan.baidu.com/s/1ycfiU34xCnBvbnSBoCrtIw
提取码:zj4c
CMake 3.24.2
各版本下载官网地址:https://cmake.org/files/
选择版本:cmake-3.15.7-win64-x64.msi(CMake 版本选择无所谓)
cmake 3.15.7 百度网盘链接:https://pan.baidu.com/s/1WFWYT1IGdpCp4wlMziLZDA
提取码:x5jn
openCV 4.5.3
下载地址:https://opencv.org/releases/
选择版本:opencv 4.5.3
opencv 4.5.3 百度网盘链接:https://pan.baidu.com/s/1vzkp3BfFZGmO0kDx3ThYVw
提取码:m2xo
opencv_contrib 4.5.3
下载地址:https://github.com/opencv/opencv_contrib/tags
选择版本:opencv_contrib 4.5.3(需要与 OpenCV 版本相同,否则编译时可能会报错)
opencv_contrib 4.5.3 百度网盘链接:https://pan.baidu.com/s/1o4t-qugwC-_XMvV3Yx9Mkg
提取码:vuwc
准备工作
- 添加MinGW环境变量:将"QT安装目录\Tools\mingw730_32\bin"路径加入环境变量
- 添加CMake环境变量:将"CMake安装目录\bin"路径加入环境变量
- 安装opencv:双击下载的opencv-4.5.3-vc14_vc15.exe文件进行安装
- 解压contrib模块:将下载的opencv_contrib-4.5.3.zip解压到opencv安装目录下
- 创建build目录:在opencv安装目录下创建一个build_xxx目录(命名随意)
编译
1.首先双击运行CMake安装目录\bin\下的cmake-gui.exe,并进行如下的配置:
- 在配置过程中,会出现CMake Warning,原因是有两个dll没有下载成功,需要手动进行下载,下载的路径可以去编译目录下生成的CMakeDownloadLog.txt里查看,找到所有"https://"开头,".dll"结尾的网址,进行手动下载,再找到"missing"关键字,将下载的文件放入missing后面路径对应的源码路径下
- 进行一些选项勾选


- 再次点击"Configuration"进行配置,出现以下报错:
原因是OPENCV_EXTRA_MODULES_PATH的路径斜杠不对,这个路径我是直接复制粘贴过来的,windows路径默认是反斜杠"",而CMake要使用正斜杠"/",这里可以直接点击"..."按钮浏览选择路径,就不用一个个改了
-
再次点击"Configuration"进行配置,直到没有红色选项,点击"Generate"
-
在编译目录下打开cmd,输入:
mingw32-make -j 8
"-j 8" 表示使用 8 线程来处理,可以根据电脑硬件条件进行调整。使用单线程编译命令为:
mingw32-make
-
等待。。。
-
出现问题:
-
add Entry --->>> BOOL --->>> OPENCV_VS_VERSIONINFO_SKIP 打钩
-
重新Configuration,Generate时出现问题:
-
根据以上流程使用32位的mingw可以编译成功