第二次编译opencv源码,记录下来。
准备
下载Qt,到官网下载即可,我的版本是5.7的。
下载CMake,到官网下载即可,我的版本是3.6.1
下载OpenCV源码,到官网下载即可,我的版本是opencv-3.2.0
设置好环境变量,我的设置如下E:\Qt\Qt5.7.1\Tools\mingw530_32\bin
开始
一、打开CMake,设置好一些信息
where is the source code 填写的源码的文件夹
where to build the binaries 填写用来存放编译完的文件夹
填写好了之后,点击Configure.
二、第一次Configure后,选择一些设置,如图。
直接点击下一步。选择gcc,g++。这里选择Qt目录下面的gcc,还有g++,点击Finish
接着会报错,如下图
在画黄框的地方选择E:/Qt/Qt5.7.1/Tools/mingw530_32/bin/mingw32-make.exe (根据自己电脑安装的位置选择mingw32-make即可),再次点击Configure。
等待完成之后,并找到WITH_QT勾选起来,再次点击Configure,如下图。
当Configure完成之后,还是会有报错,我们需要如下修改
在前面红色高亮地方一次修改Value的值。
E:\Qt\Qt5.7.1\5.7\mingw53_32\lib\cmake\Qt5Concurrent
E:\Qt\Qt5.7.1\5.7\mingw53_32\lib\cmake\Qt5Core
E:\Qt\Qt5.7.1\5.7\mingw53_32\lib\cmake\Qt5Gui
E:\Qt\Qt5.7.1\5.7\mingw53_32\lib\cmake\Qt5OpenGL
E:\Qt\Qt5.7.1\5.7\mingw53_32\lib\cmake\Qt5Test
E:\Qt\Qt5.7.1\5.7\mingw53_32\lib\cmake\Qt5Widgets
如果还有出现类似下面的错误提示:
CMake Error atC:/CMake/share/cmake-3.0/Modules/FindQt4.cmake:1316 (message):
Found unsuitable Qt version "" from NOTFOUND, this coderequires Qt 4.x
Call Stack (most recent call first)
cmake/OpenCVFindLibsGUI.cmake:34 (find_package)
CMakeLists.txt:466 (include)
找到QT_QMAKE_EXECUTABLE,它的值填写为:E:\Qt\Qt5.7.1\5.7\mingw53_32\bin\qmake.exe.
另外如果出现下载opencv_ffmpeg失败的话用以下方法处理:
前往https://github.com/opencv/opencv_3rdparty/branches/all下载对应的ffmpeg,下载完成之后
ffmpeg_version.cmake、opencv_ffmpeg.dll、opencv_ffmpeg_64.dll 三项复制到opencv源码目录下的3rdparty\ffmpeg目录下面替换
中打开文件 ffmpeg.cmake ,将其内容修改为:
message(STATUS"FFMPEG: Package successfully downloaded")
include(${CMAKE_CURRENT_LIST_DIR}/ffmpeg_version.cmake)
opencv_ffmpeg下载地址:http://download.csdn.net/detail/phr_nick/9822833
继续点击Configure。如果没有问题,点击Generate
等待操作完成之后,关闭CMake。
到 opencv源码下找到 OpenCVCompilerOptions.cmake,打开文件OpenCVCompilerOptions.cmake,找到add_extra_compiler_option(-Werror=non-virtual-dtor),将其注释掉变为#add_extra_compiler_option(-Werror=non-virtual-dtor) (可以规避在编译中遇到的编译器问题)。
进入到刚刚设置好的文件夹里面,用CMD进入到当前文件夹,执行mingw32-make
等待完成之后,继续执行mingw32-make install
等待完成之后,OpenCV的代码便编译完成了。
这样就可以在Qt里面完美的使用OpenCV了。
参考如下链接
http://blog.csdn.net/bella_yux/article/details/49175145
http://blog.csdn.net/yiyuehuan/article/details/52951574