@月夜牧狼
- 原材料:
系统:win7
Qt版本为5.9.5
Opencv为3.4.0
Opencv_contrib3.4.0
Cmake 3.13.0-rc3
注:opencv3.4.0和Opencv_contrib3.4.0都是直接解压之后的文件。
2.安装
2.1qt直接安装就行,路径不要有中文和空格等奇怪路径,同时要添加进入系统环境变量。
D:\QT\5.9.5\mingw53_32\bin添加进入5下面的方框。
2.2使用cmake编译opencv,第一个路径是opencv的源码,第二个路径是你要保存编译库的路径。
点击界面下方的configure,会弹出编辑界面,如下。
在弹窗里设置编译器目录,然后点击Finish:
D:\Qt\Qt5.9.5\Tools\mingw530_32\bin\gcc.exe
D:\Qt\Qt5.9.5\Tools\mingw530_32\bin\g++.exe
两个路径要根据你自己安装的QT路径来确定。
2.3点击configure配置,出现如下错误
解决方案:找到名为CMAKE_MAKE_PROGRAM的一项如下。
修改它的路径D:/QT/Tools/mingw530_32/bin/mingw32-make.exe,再次configure。得到如下的界面。
2.4点击右上角的Add Entry,然后在弹窗中输入:
QT_MAKE_EXECUTABLE
FILEPATH
D:\Qt\5.9.4\mingw53_32\bin\qmake.exe
点击点击OK之后,继续配置,找到OPENCV_EXTRA_MODULES_PATH选项,添加opencv_contrib包的modules目录。
然后勾选 WITH_QT和 WITH_OPENGL,不勾选WITH_IPP。
再次点击configure,直到进度条读完,出现configure done;便是点击Generate,进度条读完,会出现Generate done,如下。
2.5配置Mingw的系统环境变量。
类似于QT添加系统环境变量那样,添加的路径D:\QT\Tools\mingw530_32\bin;
2.6打开终端,键入mingw32-make,开始编译。
先打开你要构建项目所在的文件夹,就是一开始你要保存编译库的文件。
然后按住shift键+鼠标右键,进入终端。(一定要做好2.5步骤,要不然终端无法识别命令)
出现了一个错误
解决:在cmake-gui中,不勾选ENABLE_PRECOMPILED_HEADERS,重新后重新Configure-Generate-mingw32-make。
到了32%左右出现错误,
解决:
1.打开 cmake-gui,勾选 ENABLE_CXX11;
2.将F:\opencv340\opencv\sources\modules\videoio\src\cap_dshow.cpp文件,在#include “DShow.h”的上面加多一行#define NO_DSHOW_STRSAFE
效果如下:
#define NO_DSHOW_STRSAFE
#include “cap_dshow.hpp”
3.同时将BUILD_opencv_python3的勾去掉。
编译成功之后(下图已经是编译成功之后再次编译,没有保留之前编译的图片)
在终端键入mingw32-make install,编译成功的界面。
编译好的文件在F:\opencv340\build\install路径下
3.在qt上配置opencv_contrib的环境。
3.1为了简洁,新建一个buildcontrib文件,将install文件复制到该文件下。
在qt的pro文件下添加如下代码。
INCLUDEPATH+=F:\buildcontrib\install\include
F:\buildcontrib\install\include\opencv
F:\buildcontrib\install\include\opencv2
LIBS += F:\buildcontrib\install\x86\mingw\lib\libopencv_*.a
3.2还要添加opencv_contrib 的系统环境变量。
参考步骤2.1,添加的路径为F:\buildcontrib\install\bin