Qt+OpenCV配置的血泪史
首先下载Qt,Qt有两个系列,一个是mingw一个是MSVC系列,我的版本是qt-windows-x86-msvc2013。电脑已经提前下载好了VS2013。OpenCV的版本是opencv-3.4.5-vc14_vc15。
根据网上的很多教程,msvc系列很简单,只用在工程文件里面添加库以及头文件路径即可运行,但是我试了很多次,头文件能够找到路径,但是始终链接不到库,提示错误:无法解析外部命令。卡了一天,也没找到原因。后来一想可能是软件的版本不匹配,VS2013对应的VC是VC12,而OpenCV只有VC14和VC15版本,所以官网下载下来的编译好的库并不能用,所以只能重新编译。
下载Cmake以及OpenCV的source版本,打开Cmake,在1,2,两个框中分别是源文件路径和编译后生成的文件路径(注意:此处一定不要有中文路径),然后点击3,第一次点击会出现选择编译器选项,我的是VS2013,所以直接选VS2013,等待一段时间后页面出现红色,再次点击configure等待即可,然后点击5,完成后点击6,自动打开VS软件。
或者在生成的编译文件路径下打开OpenCV.sln。
在VS中将1选到Debug,再点击生成-》生成解决方案,等待一段时间。右击INSTALL-》生成。生成的文件在install文件夹中。至此,目标文件夹中只有install有用,其他的都可删除。
新建一个OpenCV库文件夹,将include文件夹和X64文件夹中的bin和lib复制出来,放到OpenCV库文件夹中
在系统的环境变量中加上bin的路径。接下来去Qt里面写测试程序。
右击项目文件,添加库,外部库,找到刚刚文件夹lib里面相应的库即可。如果仍然报错,将编译生成的Debug文件夹删除,再构建项目,执行qmake,再运行。