qt5+mingw64+opencv4.5.2搭建调试环境
搭建原因
因为要处理图像,需要opencv,毕竟使用开源的成果比自己磊代码要强太多了。下载了别人编译好的opencv的4.5.2,好用。可惜只有release版,debug版没法跑。忍无可忍,决定自己编译release和debug版。
起步
拜读搜索他人经验,貌似博文MinGW64编译OpenCV值得一试,且先按该文指导进行。感谢该文作者!
下载MinGW64
我得qt自带这个,就采用了。略过。
下载OpenCV源码
OpenCV
顺利下载后解压文件如下:
下载CMake
本来我得电脑了安装了cmake。前段时间卸载了,重新安装吧!
CMake
这里直接下载,可以配置环境变量也可以不配置。
编译Opencv
新建目录
新建build和opencv-4.5.2-mingw64目录,其中build为CMake输出路径,opencv-4.5.2-mingw64为最后编译输出路径。
CMake构建文件
打开CMake安装目录下bin目录下的cmake-gui.exe,在Where is the source code:中选择OpenCV的路径,在Where to build the binaries:选择刚才新建的build文件夹。
点击Configure开始配置,在弹出窗口中选择MinGW Makefiles,表明最后输出可由MinGW的make编译的二进制构造文件。下面选择Specify native compilers,点击Next,然后C选择安装MinGW64目录下bin目录下的gcc.exe,C++选择bin目录下的g++.exe。
果断下载cmake-3.31.7-windows-x86_64.msi
先配置release版
opencv_videoio_ffmpeg_64.dll文件下载,据说国内没有VPN基本无法下载,导致无法下载第三方文件而配置失败。
其他途径下载该文件,下载包内容:
并放入文件夹:
修改对应的cmake文件,下载地址改成从本机地址下载:
然后成功完成配置,点击generate完成。
关闭CMake-GUI,打开cmd进入build目录,输入
mingw32-make
进行编译,如果想要加速,可以输入
mingw32-make -j p
其中p为线程数,等待编译结束。
编译完成后,输入命令完成最后的安装步骤:
mingw32-make install
如果配置了CMAKE_INSTALL_PREFIX,那么OpenCV将会安装在指定的位置,否则在build目录下的install。
debug版本编译
过程基本与release过程相同,但是如果输出太多可能导致编译失败。
搜索相关内容,去掉部分选项重新进行,解决了问题。
qt配置
我的pro文件添加外部库文件
## OpenCV 库文件路径,适应了debug版本
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/OpenCV-MinGW-Build-OpenCV-4.5.2-x64d/x64/mingw/lib/ -llibopencv_core452.dll -llibopencv_highgui452.dll -llibopencv_imgproc452.dll -llibopencv_calib3d452.dll -llibopencv_imgcodecs452.dll -llibopencv_videoio452.dll -llibopencv_ml452.dll
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/OpenCV-MinGW-Build-OpenCV-4.5.2-x64d/x64/mingw/lib/ -llibopencv_core452d.dll -llibopencv_highgui452d.dll -llibopencv_imgproc452d.dll -llibopencv_calib3d452d.dll -llibopencv_imgcodecs452d.dll -llibopencv_videoio452d.dll -llibopencv_ml452d.dll
else:unix: LIBS += -L$$PWD/OpenCV-MinGW-Build-OpenCV-4.5.2-x64d/x64/mingw/lib/ -llibopencv_calib3d452.dll
# OpenCV 头文件路径
INCLUDEPATH += $$PWD/OpenCV-MinGW-Build-OpenCV-4.5.2-x64d/include
DEPENDPATH += $$PWD/OpenCV-MinGW-Build-OpenCV-4.5.2-x64d/include
配置完成后,运行debug版本就可以了。
获取编译库
我把编译后的库文件上传到我的资源里。加好友后自行下载,遇到困难欢迎留言交流。