最近科技立项的项目需要同时用到QPainter来实现Canvas功能,同时要用OpenCV来识别绘图,需要在Qt里添加OpenCV模块
opencv默认支持vc系列的编译器,在下载的时候就有build和source俩文件夹,build里就是默认支持的几种形式,可以看到x64即64位系统中可以支持vc14和vc15,如下图
在之前用VS的时候只要添加路径就行(详见链接)
而很不幸的是QT有自己的MinGW系列编译器,我们需要用CMake再编译一个类似于build的文件夹来作为Qt的依赖,即蓝框中的MinGWver(即MinGW-version,我自己起的名字,文件夹名字没有规范,毕竟build已经被占了)
具体 *** 作:
windows上的CMake大部分是其他编译器带来的,为保险还是单独下载一个
CMake官网下载地址:
https://cmake.org/download/
正常安装即可
也是正常下载安装,但要记得自己装在哪个文件夹,后面会多次用到
环境变量配置1首先将自己装的CMake和Qt里的两个文件夹添加到系统的Path里
关机重启
打开CMake,source目录就是你下载的OpenCV文件夹下的sources文件夹,build目录就随便取,记住就行
随后要经过两次或以上Configure和一次Generate
由于需要用MinGW编译,第一次Configure时配置如下:
next后,选择MinGW Makefiles
多提一嘴,当时在Linux上时我们用的时如下的Unix Makefiles,是相当于直接把OpenCV编译后的目录添加到了Linux的系统环境变量,所以我们在Linux上的 *** 作要简单许多,但Qt只认MinGW,所以我们也得用MinGW来编译
Next后,选择你Qt/Tools/mingw730_64/bin/gcc.exe作为C语言编译器,Qt/Tools/mingw730_64/bin/g++.exe作为C++编译器,这个“730_64”可能不太一样,前面的是MinGW版本,后面数值代表64位系统,只要保证整个工程编译的时候用的MinGW处处版本一致就行
等待第一次Configure完成后,选中“WITH_OPENGL”、“WITH_QT”,将“WITH_IPP”取消。
然后再次点【Configure】
第二次Configure可能报错,我没遇到过,如果遇到可以按如下方式更改红色项(改完还是红色,但不会报错,改完还报错就是地址没改对):
再有报错也是一样解决,直到不再报错为止
随后Generate
进入刚刚配置好的文件夹(被我命名为MinGWver)打开终端
mingw32-make
mingw32-make install
注意:就算前面用的是64位下的MinGW730_64,这里同样是用mingw32-make
环境变量配置2把编译后,目标目录下的bin目录路径,即 **C:\opencv\MinGWver\bin,C:\opencv\MinGWver\install\x64\mingw\bin **添加到Path环境变量中
关机重启
对于Qt工程,我们只需要在.pro文件加上如下代码,并保证整个工程编译的时候用的MinGW处处版本一致就行
INCLUDEPATH += C:\opencv\build\include
C:\opencv\build\include\opencv
C:\opencv\build\include\opencv2
LIBS += C:\opencv\MinGWver\lib\libopencv_*.a
注意改一下路径,LIBS里的 * 是通配符,有兴趣可以取看看这些文件(通配符真伟大)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)