win7下QT5.6+OPENCV3.0+minGW32 的配置

在QT5.6下配置OPENCV3.0遇到了不少问题,总结一下。

MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称。

MinGW,即 Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的

情况下使用 GCC(GNU Compiler Collection,GNU编译器套件GNU系统是彻底的自由软件(GNU Compiler C)产生 Windows32 程序。

VC运行库,是Visual C++的运行库。很多程序在编制的时候,使用了微软的运行库,大大减少了软件的编码量,却提高了兼容性。

但运行的时候,需要这些运行库。这些运行库简称就是MSVC。

Windows下MSVC,Linux下GCC,而QT可以从Linux移植到win,所以采用GCC===》minGW

正因为QT采用的库和VS的不一样,所以从OPENCV下载下来的库文件并不能直接给QT使用,所以我们需要运用CMAKE产生配置文件,让minGW按照配置文件生成QT可用的库文件。

为方便,先配置好环境变量PATH然后重启方便之后的操作。

在环境变量PATH中添加:

X:\XXXX\CMake3.3.2\bin;

X:\XXXX\Qt5.6.0\5.6\mingw49_32\bin;

X:\XXXX\Qt5.6.0\Tools\mingw492_32\bin

打开CMAKE:选择opencv的sources文件夹,里面藏着CMAKE用来执行的CMakeLists.txt,然后点击configure。

cmake

cmake1

将编译器文件夹配置好:

C:   X:/XXXX/Qt5.6.0\Tools\mingw492_32\bin\gcc.exe
C++:   X:/XXXX/Qt5.6.0\Tools\mingw492_32\bin\g++.exe

cmake2

finish后出现:


不能勾选WITH_IPP,勾选WITH_OPENGL和WITH_QT

再次点击configure,直到红色消失以后,点击generate生成makefiles。

到 X:\XXXX\opencv\sources\cmake 下找到 OpenCVCompilerOptions.cmake

找到下面这句话注释掉他,以免发生错误。

add_extra_compiler_option(-Werror=non-virtual-dtor)
然后进入之前的生成目标文件夹,按下shift健+右键,打开命令调试窗口CMD 输入命令: mingw32-make

然后就开始编译了。大概20分钟过后,编译完成,输入mingw32-make install 安装,一会就完成。

技术分享


然后就是关键了!!!

将安装完成后的文件夹内的bin文件夹(里面含有动态库dll)加入到环境变量path并重启。

新建一个QT工程,打开pro文件,加入下面的配置信息:

INCLUDEPATH += G:\opencv\opencv\cmake4\install\include\
INCLUDEPATH += G:\opencv\opencv\cmake4\install\include\opencv\
INCLUDEPATH += G:\opencv\opencv\cmake4\install\include\opencv2\
 
  
LIBS += G:\opencv\opencv\cmake4\lib\libopencv_*.a
 
  
HEADERS +=
 
  
SOURCES += \
    testopencv.cpp
可以看到使用的是绝对路径,路径是之前安装完成后的文件夹内的include还有lib

使用绝对路径省去很多麻烦和bug,到此,opencv3.0的函数都可以调用了。


你可能感兴趣的:(win7下QT5.6+OPENCV3.0+minGW32 的配置)