工具:
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
下载完解压到某一文件夹:
2.CMake.
选择source文件以及输出的文件路径。这里的source文件就是下载opencv解压后的文件路径,而第二个build路径可以自己选择放在哪个文件夹里。
点击config,选择MinGW Makefiles,再点击Specify native compilers。
选择编译器的路径,保持跟QT的编译器一致就行了。
我的路径为:
E:\installation\QT\Tools\mingw530_32\bin\gcc.exe
E:\installation\QT\Tools\mingw530_32\bin\g++.exe
CMake就会执行配置:
遇到问题请看后面所列情况。
解决后会看到Configuring done。
勾选WITH_OPENGL和WITH_QT,继续config。
还有红色框框,确定路径没错,继续config。
已经没有红色框框了,说明config完成,然后我们点击Generate。
我们可以看到CMake生成的文件:
打开命令行,cd到改目录下,输入mingw32-make进行编译
编译过程如下,这里所用的时间会比较长,耐心等待:
100%之后再输入mingw32-make install。
生成的文件都在install文件夹中:
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
成功运行opencv测试代码。
**
可能遇到的一些问题:
**
- 由于找不到libwinpthread-1.dll,无法继续执行代码。重新安装程序可能会解决此问题。
这个是因为环境变量没配,在系统环境变量的PATH中加上QT中mingw对应的目录就行了。 比如我的路径是(忘了是不是只加第一个就可以,不过只加第二个会出错):
E:\installation\QT\5.8\mingw53_32\bin
E:\installation\QT\Tools\mingw530_32\bin
- 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
- 在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
)