使用Qt带的MinGW+cmake编译opencv3.2

第二次编译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.

使用Qt带的MinGW+cmake编译opencv3.2_第1张图片

二、第一次Configure后,选择一些设置,如图。

使用Qt带的MinGW+cmake编译opencv3.2_第2张图片

直接点击下一步。选择gcc,g++。这里选择Qt目录下面的gcc,还有g++,点击Finish

使用Qt带的MinGW+cmake编译opencv3.2_第3张图片

接着会报错,如下图

使用Qt带的MinGW+cmake编译opencv3.2_第4张图片

画黄框的地方选择E:/Qt/Qt5.7.1/Tools/mingw530_32/bin/mingw32-make.exe  (根据自己电脑安装的位置选择mingw32-make即可),再次点击Configure。

等待完成之后,并找到WITH_QT勾选起来,再次点击Configure,如下图。

使用Qt带的MinGW+cmake编译opencv3.2_第5张图片


当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.cmakeopencv_ffmpeg.dllopencv_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


使用Qt带的MinGW+cmake编译opencv3.2_第6张图片


继续点击Configure。如果没有问题,点击Generate

使用Qt带的MinGW+cmake编译opencv3.2_第7张图片

等待操作完成之后,关闭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

使用Qt带的MinGW+cmake编译opencv3.2_第8张图片

等待完成之后,继续执行mingw32-make install

使用Qt带的MinGW+cmake编译opencv3.2_第9张图片

等待完成之后,OpenCV的代码便编译完成了。

这样就可以在Qt里面完美的使用OpenCV了。


参考如下链接

http://blog.csdn.net/bella_yux/article/details/49175145

http://blog.csdn.net/yiyuehuan/article/details/52951574

你可能感兴趣的:(其他)