opencv3.0+Qt5.5+CMake3.10.0配置

本文主要参考了https://blog.csdn.net/wzj0808/article/details/79388446

非常感谢。

此篇只为了记录自己学习过程,如果损害都原博主利益,请尽快告知,我会马上删除。

一:软件安装

QT下载网址 : http://download.qt.io/official_releases/qt/ 新版

http://download.qt.io/archive/qt/旧版本链接

opencv 下载网址 : 官网 https://opencv.org/releases.html 各个版本链接

cmake 下载网址 官网 https://cmake.org/files/ 各个版本链接

QT安装有两个版本 minGW和mscv

后面那个是针对微软vc编译的,Qt自带minGW因此我用minGW

安装opencv直接双击就行了

安装Cmake 记得到这个界面选这个
install options
选择第二个
add Cmake to the system …
opencv3.0+Qt5.5+CMake3.10.0配置_第1张图片

QT版本记得选对

二:环境配置

1,编译器使用qt自带c、c++编译器。之前有装过的mingw编译器的path路径要去掉。因此qt要添加两个路径到path:

C:\Qt\Qt5.8.0\5.8\mingw53_32\bin;C:\Qt\Qt5.8.0\Tools\mingw530_32\bin

三:Cmake设置

第一个源目录,及opencv下载安装

第二个目录为生成目标,就是你库生成的位置。

opencv3.0+Qt5.5+CMake3.10.0配置_第2张图片
opencv3.0+Qt5.5+CMake3.10.0配置_第3张图片
opencv3.0+Qt5.5+CMake3.10.0配置_第4张图片

opencv3.0+Qt5.5+CMake3.10.0配置_第5张图片

出现红色

WITH_OPENGL选中,WITH_QT选中,WITH_IPP

IPP取消非常关键,否则在后面命令行运行的时候会出错!!亲测

然后再点击configure。

上面出现红色

Qt5Concurrent_DIR
C:/Qt/Qt5.8.0/5.8/mingw53_32/lib/cmake/Qt5ConcurrentQt5Core_DIR
C:/Qt/Qt5.8.0/5.8/mingw53_32/lib/cmake/Qt5CoreQt5Gui_DIR
C:/Qt/Qt5.8.0/5.8/mingw53_32/lib/cmake/Qt5GuiQt5OpenGL_DIR C:/Qt/Qt5.8.0/5.8/mingw53_32/lib/cmake/Qt5OpenGLQt5Test_DIR
C:/Qt/Qt5.8.0/5.8/mingw53_32/lib/cmake/Qt5TestQt5Widgets_DIR
C:/Qt/Qt5.8.0/5.8/mingw53_32/lib/cmake/Qt5Widgets

直接configure 因为他目录是对的,但是还是得检查一下,如果不对要改

然后generate 很快

四:编译opencv

打开cmd ,进入buildOpencv目录,执行mingw32-make命令,要执行大概20分钟才会完成: (打开子目录用cd加空格加名称)

opencv3.0+Qt5.5+CMake3.10.0配置_第6张图片
mingw32-make的时候可能会出现问题

比如28%左右的

mingw32-make[2]: * [bin/libopencv_core300.dll]
Error 1
CMakeFiles\Makefile2:1654: recipe for target
‘modules/core/CMakeFiles/opencv_cor e.dir/all’ failed
mingw32-make[1]: * [modules/core/CMakeFiles/opencv_core.dir/all]
Error 2
Makefile:148: recipe for target ‘all’ failed
mingw32-make: * [all] Error 2

说明是IPP那个选项没有取消勾选(看前面cmake步骤)

38%左右的

modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dshow.cpp.obj]
Error 1

(1)如果出现一大堆cpp问题那么。

源文件cmake opencvcompileoptions

add_extra_compiler_option(-Werror=non-virtual-dtor)

改成#add_extra_compiler_option(-Werror=non-virtual-dtor)

(2)如果只是单纯obj不行

那么cap_dshow.cpp这个文件里面

添加定义

#define STRSAFE_NO_DEPRECATE

并# include "DShow.h"这个前面
加上#define NO_DSHOW_STRSAFE

然后完成之后执行mingw32-make install

这步很快

五:添加生成的bin路径到path环境变量

将新生成的D:\MyProgram\buildOpencv\bin添加到path变量。

注意:要重启电脑使环境变量生效

六:创建一个Qt桌面项目;然后打开.pro进行配置:

opencv3.0+Qt5.5+CMake3.10.0配置_第7张图片

    INCLUDEPATH += D:\MyProgram\Opencv\opencv\build\include
    D:\MyProgram\Opencv\opencv\build\include\opencv
    D:\MyProgram\Opencv\opencv\build\include\opencv2
    LIBS += D:\MyProgram\buildOpencv\lib\libopencv_*.a

在main.

cpp代码

#include "mainwindow.h"

#include 

#include 

using namespace cv;

int main(int argc, char *argv[])

{

    Mat image;

    image =imread("D:\\test.jpg");

   
    namedWindow("显示");

    imshow("显示",image);

    waitKey(0);

    return 0;

}

成功!!显示出来。

如果想要用vs2012和opencv进行编程

关于vs2012和opencv3.0的配置,我在另外一篇文章
https://blog.csdn.net/weixin_43707042/article/details/88615880
有讲述具体过程。

你可能感兴趣的:(opencv3.0+Qt5.5+CMake3.10.0配置)