开始配置:
1.下载所需工具:
(1) Qt: https://download.qt.io/official_releases/
(2) OpenCV: http://opencv.org/
(3) CMake: http://www.cmake.org/cmake/resources/software.html
2.安装Qt ;(记得添加环境变量F:\C++\qt5.6.1\Tools\mingw492_32\bin:F:\C++\qt5.6.1\5.6\mingw49_32\bin)
3.安装Cmake;
4. 安装OpenCV;
5. CMake编译OpenCV(此处需要设置PC机的环境变量把QT目录下的:..\Tools\mingw492_32\bin和..\5.6\mingw49_32\bin):
(1)打开CMake-gui.exe,第一行输入(../opencv-3.3/opencv/sources) opencv解压出来的源码,第二行填写你要创建的文件夹目录。
(2
)Configure(不断的Configure直到没有红色项为止);
(3)Generate;
CMake勾选:WITH_OPENGL和WITH_QT两项
CMake上去掉:
(4)上面两部都出现done后,打开cmd进入刚刚创建的目标目录,mingw32-make -j2 (j后面的数字代表核心数,根据硬件来选择);
(5)编译通过后执行mingw32-make install安装;
(6)随后可以把编译目录下的 (intall\include和install\x86\mingw\下的lib和bin都考到一个方便的文件夹然后添加bin路径到环境变量);
编译出错笔记:
1、
OpenCV的编绎问题真多呀,一般代码可能不存在问题,问题主要在工具,开源工具的版本,工具搭配,参数设置,都会影响最终的编绎成功
之前顺手编译一个2.49的,竟然非常顺,一个问题也没发现,换成3.3和2.4.13问题真多,总结一下。
当然,有时新版本也会出现问题。
1.opencv出了3.3,就下载下来编编试试。
出现问题,opencv的github查到解决方案,据说只在3.3才有
- OpenCV => 3.3.0-rc
- Operating System / Platform => Windows 10 - 64 Bit
- Compiler => Visual Studio 15 2017
- cmake => 3.9.0-rc5
大约会提示类似错误,windres.exe输入参数为空的样子 :
:\PROGRA~2\minGW\bin\windres.exe: invalid option -- W,
问题原因在cmake,cmake版本大于3.9会有这个问题,我的是3.8,没有这个问题,网上一个哥们说他的3.7也没有这个问题
解决方法:
CMAKE中的ENABLE_PRECOMPILED_HEADERS去掉勾选
就这个了:
![](http://img.e-com-net.com/image/info8/8283bbf3732445c1b2007ca9c4df3e83.png)
查找自:http://blog.csdn.net/cnbloger/article/details/77609108
2、
modules\videoio\CMakeFiles\opencv_videoio.dir\build.make:187: recipe for target 'modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dshow.cpp.obj' failed
mingw32-make[2]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dshow.cpp.obj] Error 1
CMakeFiles\Makefile2:2867: recipe for target 'modules/videoio/CMakeFiles/opencv_videoio.dir/all' failed
mingw32-make[1]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2
Makefile:161: recipe for target 'all' failed
mingw32-make: *** [all] Error 2
解决方法:
在opencv的源码文件cap_dshow.cpp中添加
在#include "DShow.h"这行的上面加一行#define NO_DSHOW_STRSAFE
查自:http://blog.csdn.net/fengxueniu/article/details/77478669
原文网址:http://answers.opencv.org/question/62580/not-able-to-build-opencv3-rc1-with-debug-build-type/
3、
"E:/C++" "MATCHES" "^E:/C++/Opencv 3.0/opencv/sources" "OR" "E:/C++" "MATCHES" "^E:/C++"
Regular expression "^E:/C++/Opencv 3.0/opencv/sources" cannot compile
解决方法:
Cmake路径不能出现++
4、
v:\MinGW-Builds\mingw64\bin\windres.exe: supported targets: pe-x86-64 pei-x86-64 pe-bigobj-x86-64 elf64-x86-64 elf64-l1om elf64-k1om pe-i386 pei-i386 elf32-i386 elf32-iamcu elf64-little elf64-big elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex modules/core/CMakeFiles/opencv_core.dir/build.make:1642: recipe for target `modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj' failed make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj] Error 1 CMakeFiles/Makefile2:1512: recipe for target `modules/core/CMakeFiles/opencv_core.dir/all' failed make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2 Makefile:162: recipe for target `all' failed make: *** [all] Error 2
解决方法:
去掉ENABLE_PRECOMPILED_HEADERS再make(cmake-3.9+版本的bug)