QT环境:5.14.1 + MSVC2017环境安装opencv
基本的安装主要参考了以下博客:
opencv-4.5.5-vc14_vc15:链接:https://pan.baidu.com/s/1XYL0pk7YYjzN24ffl9bqXQ
提取码:t7k2
opencv-4.8.0-windows:链接:https://pan.baidu.com/s/1P5p0Zx0IaRet1Uv-eE8pCQ
提取码:fpp2
本文主要记录遇到的问题及解决方法;
环境:
1、Windows 64;
2、QT环境:5.14.1 + MSVC2017
省流:1、opencv下载的版本需要与自己的qt版本相对应;!!!
2、根据上述参考博客步骤以及本人亲测,qt+msvc环境无需像mingw一样去编译opencv的源码,直接下载opencv的exe安装即可。
3、opencv的环境变量需要加到系统的Path中并重启电脑,而不是自己单独新建一个。
本人的qt环境是早已安装好,后续因为需要用到opencv,所以才想着安装opencv。
问题1:由于此时opencv最新版本为4.8.0,所以就下载了此版本。但是包含基本的头文件,如opencv.hpp时,编译报错。
解决方法:.pro中引入库的时候路径有误。需要排查 INCLUDEPATH是否写正确。
问题2:qt5.14.1 msvc2017,使用opencv编译通过,但是启动就死机。
编译通过,启动就死机,打印The process was ended forcefully.
启动调试模式,提示 The CDB process terminated。但是其他以前的程序可以正常调试。
解决方法:重新安装opencv(下载了opencv-4.5.5-vc14_vc15.exe)。 安装之后在添加环境变量时opencv安装路径 :\opencv\build\x64\下有vc14和vc15两个文件夹。差资料得知vc14是vs2015编译器,vc15是vs2017编译器。结合我自己是vs2017,所以环境变量中加的是
C:\opencv\build\x64\vc15\bin
最终可以成功使用opencv中的函数,如读图以及显示图像。
.pro中的配置:
win32:CONFIG(release, debug|release): LIBS += -LC:/opencv/build/x64/vc15/lib/ -lopencv_world455
else:win32:CONFIG(debug, debug|release): LIBS += -LC:/opencv/build/x64/vc15/lib/ -lopencv_world455d
INCLUDEPATH += C:/opencv/build/include
DEPENDPATH += C:/opencv/build/include
.cpp中的测试代码:
#include <opencv2/opencv.hpp>
...
cv::Mat image = cv::imread("D:/image.jpg", 1);
cv::namedWindow("My Image");
cv::imshow("My Image", image);```