Win10下QT5.9.3+OpenCV2.4.9编译环境的搭建

为了解决Kit使用MSVC不能正确使用Mat(OpenCV)的问题,我就只有使用MinGW来解决问题了,就是要从opencv的源码中编译一套新的库出来配合我们的QT和适应MinGW的套件!


本文中使用的操作系统是Win10

OpenCV2.4.9

QT5.9.3



1.        下载cmake(我这里用的是3.10.0)

2.        打开cmake界面

Win10下QT5.9.3+OpenCV2.4.9编译环境的搭建_第1张图片

3.        点击Configure,选择如下图:

Win10下QT5.9.3+OpenCV2.4.9编译环境的搭建_第2张图片

4.        Next进入下个界面:

Win10下QT5.9.3+OpenCV2.4.9编译环境的搭建_第3张图片

C的编译器路径选择:

D:/Software/Qt/Qt5.9.3/Tools/mingw530_32/bin/gcc.exe

C++的编译器路径选择:

D:/Software/Qt/Qt5.9.3/Tools/mingw530_32/bin/g++.exe

点击完成回到原来的界面

 

5.        回到原来的界面(图可能和你不一样不要在意),点击configure 然后可能会提示报错说你Cmake_make_program为空,勾选Advanced,然后搜索cmake,找到这个选项,填写如下图:

路径为:

D:/Software/Qt/Qt5.9.3/Tools/mingw530_32/bin/mingw32-make.exe

Win10下QT5.9.3+OpenCV2.4.9编译环境的搭建_第4张图片

         填好后再次点击Configure!!! 然后会出现一片红!不要慌张,继续看!!!!

 

6.        出现一片红后,我们搜索 with!找到WITH_QT 勾选,再次点击Configure

 Win10下QT5.9.3+OpenCV2.4.9编译环境的搭建_第5张图片

 

7.        又报错了,说我们有些qt的选项没有填,我们就来搜索然后填写:

Win10下QT5.9.3+OpenCV2.4.9编译环境的搭建_第6张图片

填写这些:(下图是填好的!

Win10下QT5.9.3+OpenCV2.4.9编译环境的搭建_第7张图片

还有这一项!!


填写完后,点击configure!!

 

一般情况此时就没有报错了,显示

然后 点击 生成 Generate!!!他就会在最开始填写的位置生成文件。

注意:生成时有可能报错,我就遇到了,说少一个dll:libwinpthread-1

去网上下载!然后把这个dll复制到系统的目录中(按理说32位的dll该去32位的目录,64的dll该去64的目录,我的电脑是win10 64位的我也不知道这个dll是多少位的我就都放了。。。)

C:\Windows\System32  和  C:\Windows\SysWOW64

然后win+R 打开了运行输入:regsvr32libwinpthread-1.dll 回车 搞定!!如果又提示错:

模块atiacmxx.dll可能与您正在运行的windows版本不兼容,检查该模块是否与regsvr.exe的x86或x64版本兼容

我们就打开cmd 然后跳转到上面的两个目录去输入regsvr32 libwinpthread-1.dll这一句,一般就解决了!


这下就成功生成了!!

8.        打开系统的命令终端,进入D:\zxy\opencv\MinGW目录,执行mingw32-make命令,这需要一段时间,该命令执行完后,再执行mingw32-make install命令。这样可用于Qt的opencv库文件就生成了。


注意:如果你在执行mingw32-make命令时说不认识,那么你需要添加这个exe的路径到系统的环境变量中去,对于我的,路径为:

D:\Software\Qt\Qt5.9.3\Tools\mingw530_32\bin

 

添加保存之后还是不认识的话,就需要重启电脑!


 

9.        这下可以在qt中使用opencv的libs就准备好了,我们还需要讲你生成好的libs文件目录添加到环境变量中去!


10.    打开QTCreator 新建一个程序!修改pro文件如下图:

Win10下QT5.9.3+OpenCV2.4.9编译环境的搭建_第8张图片

11.    Qtcreator中打开工具->选项—>构建与运行:

Win10下QT5.9.3+OpenCV2.4.9编译环境的搭建_第9张图片

        

12.    然后我们执行一下qmake!

13.    写一段小程序来测试一下吧:

#include "mainwindow.h"
#include 
#include 
#include 

using namespace std;
using namespace cv;

int main(int argc, char *argv[])
{
     Mat image = imread("D:\\test\\111.jpg");
     cvNamedWindow("window", CV_WINDOW_NORMAL);
     imshow("window",image);
     waitKey(0);
 }

 运行结果:

Win10下QT5.9.3+OpenCV2.4.9编译环境的搭建_第10张图片

好的,我们可以看到Mat没问题了!大功告成!!!!!!

你可能感兴趣的:(opencv,qt5,mingw,qt)