工具:

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 creator中使用opencv
2.CMake.
选择source文件以及输出的文件路径。这里的source文件就是下载opencv解压后的文件路径,而第二个build路径可以自己选择放在哪个文件夹里。
直接在QT creator中使用opencv
点击config,选择MinGW Makefiles,再点击Specify native compilers。
直接在QT creator中使用opencv
选择编译器的路径,保持跟QT的编译器一致就行了。
我的路径为:
E:\installation\QT\Tools\mingw530_32\bin\gcc.exe
E:\installation\QT\Tools\mingw530_32\bin\g++.exe
直接在QT creator中使用opencv
CMake就会执行配置:
直接在QT creator中使用opencv
遇到问题请看后面所列情况。
解决后会看到Configuring done。
直接在QT creator中使用opencv
勾选WITH_OPENGL和WITH_QT,继续config。
直接在QT creator中使用opencv
还有红色框框,确定路径没错,继续config。
直接在QT creator中使用opencv
已经没有红色框框了,说明config完成,然后我们点击Generate。
直接在QT creator中使用opencv
我们可以看到CMake生成的文件:
直接在QT creator中使用opencv
打开命令行,cd到改目录下,输入mingw32-make进行编译
直接在QT creator中使用opencv
编译过程如下,这里所用的时间会比较长,耐心等待:
直接在QT creator中使用opencv
100%之后再输入mingw32-make install。
直接在QT creator中使用opencv
生成的文件都在install文件夹中:
直接在QT creator中使用opencv

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 creator中使用opencv
成功运行opencv测试代码。
直接在QT creator中使用opencv
**

可能遇到的一些问题:

**

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

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


直接在QT creator中使用opencv
  • 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 creator中使用opencv
    在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)

相关文章: