工具:

CMake:3.8.2
OpenCV:3.0.0(测试了下3.1.0与3.2.0也可以)
QT:5.8.0
MinGW:5.3.0
系统: WIndows 10

开始

1. OpenCV

下载完解压到某一文件夹:

qt opencv 压缩图片 qtcreator opencv_opencv


2.CMake.

选择source文件以及输出的文件路径。这里的source文件就是下载opencv解压后的文件路径,而第二个build路径可以自己选择放在哪个文件夹里。

qt opencv 压缩图片 qtcreator opencv_MinGW_02


点击config,选择MinGW Makefiles,再点击Specify native compilers。

qt opencv 压缩图片 qtcreator opencv_opencv_03


选择编译器的路径,保持跟QT的编译器一致就行了。

我的路径为:

E:\installation\QT\Tools\mingw530_32\bin\gcc.exe

E:\installation\QT\Tools\mingw530_32\bin\g++.exe

qt opencv 压缩图片 qtcreator opencv_qt_04


CMake就会执行配置:

qt opencv 压缩图片 qtcreator opencv_CMake_05


遇到问题请看后面所列情况。

解决后会看到Configuring done。

qt opencv 压缩图片 qtcreator opencv_qt_06


勾选WITH_OPENGL和WITH_QT,继续config。

qt opencv 压缩图片 qtcreator opencv_qt_07


还有红色框框,确定路径没错,继续config。

qt opencv 压缩图片 qtcreator opencv_CMake_08


已经没有红色框框了,说明config完成,然后我们点击Generate。

qt opencv 压缩图片 qtcreator opencv_qt opencv 压缩图片_09


我们可以看到CMake生成的文件:

qt opencv 压缩图片 qtcreator opencv_qt_10


打开命令行,cd到改目录下,输入mingw32-make进行编译

qt opencv 压缩图片 qtcreator opencv_qt opencv 压缩图片_11


编译过程如下,这里所用的时间会比较长,耐心等待:

qt opencv 压缩图片 qtcreator opencv_opencv_12


100%之后再输入mingw32-make install。

qt opencv 压缩图片 qtcreator opencv_CMake_13


生成的文件都在install文件夹中:

qt opencv 压缩图片 qtcreator opencv_qt_14

3.QT Creator
我们把对应的路径(包含文件INCLUDE和库目录LIB)添加到QT工程的pro文件里就可以使用opencv了。

INCLUDEPATH += G:\opencvTest\opencvTest300\install\include\
INCLUDEPATH += G:\opencvTest\opencvTest300\install\include\opencv\
INCLUDEPATH += G:\opencvTest\opencvTest300\install\include\opencv2\
LIBS += G:\opencvTest\opencvTest300\install\x86\mingw\lib\libopencv_*.a

qt opencv 压缩图片 qtcreator opencv_qt_15


成功运行opencv测试代码。

qt opencv 压缩图片 qtcreator opencv_MinGW_16


**

可能遇到的一些问题:

**

  • 由于找不到libwinpthread-1.dll,无法继续执行代码。重新安装程序可能会解决此问题。
    这个是因为环境变量没配,在系统环境变量的PATH中加上QT中mingw对应的目录就行了。 比如我的路径是(忘了是不是只加第一个就可以,不过只加第二个会出错):

E:\installation\QT\5.8\mingw53_32\bin
E:\installation\QT\Tools\mingw530_32\bin


qt opencv 压缩图片 qtcreator opencv_CMake_17

  • CMake Error at 3rdparty/ippicv/downloader.cmake:71 (file): file DOWNLOAD HASH mismatch
    我们手动下载对应文件替换掉目录下的文件。
    比如我的ippicv_windows_20141027.zip出问题,则在网上下载一个新的压缩包替换掉原来的压缩包(我电脑上的路径G:\opencvTest\opencv-3.0.0\3rdparty\ippicv\downloads\windows-b59f865d1ba16e8c84124e19d78eec57\ippicv_windows_20141027.zip)。原本3M+网上找了一个25M的替换掉就可以了。
  • CMake was unable to find a build program corresponding toXXX
  • qt opencv 压缩图片 qtcreator opencv_MinGW_18

  • 在CMAKE_MAKE_PEOGRAM中写上mingw32-make.exe的路径,我的路径是E:/installation/QT/Tools/mingw530_32/bin/mingw32-make.exe
  • 出现问题

modules\python2\CMakeFiles\opencv_python2.dir\build.make:171: recipe
for target
‘modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.obj’
failed mingw32-make[2]: *
[modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.obj]
Error 1 CMakeFiles\Makefile2:7721: recipe for target
‘modules/python2/CMakeFiles/opencv_python2.dir/all’ failed
mingw32-make[1]: *
[modules/python2/CMakeFiles/opencv_python2.dir/all] Error 2
Makefile:150: recipe for target ‘all’ failed mingw32-make: * [all]
Error 2

解决方法:把CMake中的python选项去掉,有关路径也删掉。重新config和generate.

  • 找不到photo文件
    在CMake中勾选BUILD_opencv_photo重新config、generate、mingw32-make、mingw32-make install。
  • Qt 程序异常结束,并且crashed
    这个问题原因很多。
    这里的原因是没有在环境变量中添加编译完的opencv目录下mingw的bin目录。
    ( 我的路径:G:\opencvTest\opencvTest300\install\x86\mingw\bin)