win10-x64 + Qt5.13 + OpenCV3.4.6-x64 环境搭建
cmake:cmake-3.15.0-rc3-win64-x64
准备:安装Qt(加MingGW64位编译器)+ 安装OpenCV(64位)+ 安装cmake-x64
添加环境变量:
D:\Qt\Qt5.13.0\5.13.0\mingw73_64\bin
D:\Qt\Qt5.13.0\Tools\mingw730_64\bin
D:\OpenCV\build\x64\vc15\bin
D:\cmake-3.15.0-rc3-win64-x64\bin
D:\opencv3.4.6-build\install\x64\mingw\bin
注意:安装OpenCV时解压路径,(重要的事情说三遍)
*****opencv所在的文件夹名一定不能有空格***** 譬如:“Program files”
*****opencv所在的文件夹名一定不能有空格*****
*****opencv所在的文件夹名一定不能有空格*****
1.运行cmake文件夹bin中gui开始配置
where is the source code中填入OpenCV的源码路径
where to build the binaries中填入编译后生成文件的存放位置D:\opencv3.4.6-build(可自己新建一个文件夹)
Advanced勾选
点击下方的Configure按钮,会弹出配置框
Specify the generator for this project下拉框中选择MinGW Makefiles,然后圈选Specify native comilers,点击Next
之后会让选择MinGW的C/C++编译器位置,填入对应编译器位置(在Qt编译器中确认,一般在Qt安装目录中Tools文件夹内),
Fortran不用填写,配置完后点击Finsh,进行配置验证。
然后会出现一系列红色的value
勾选:WITH_QT、WITH_OPENGL
基于编译中出现的问题,直接一次性不勾选:WITH_IPP ENABLE_PRECOMPILED_HEADERS WITH_OPENCL_D3D11_NV
然后重新 Configure,直到红色选项消失,Generate
2.编译前:opencv\cmake\下找到“OpenCVCompilerOption.cmake”,打开注释掉#add_extra_compiler_option(-Werror=non-virtual-dtor)
3.编译:在D:\opencv3.4.6-build目录下,shift+右键打开shell,执行指令mingw32-make -j 8(8线程快速编译)
4.安装mingw32-make:编译完成后执行指令mingw32-make install
5.Qt中配置OpenCV:新建或打开工程,在pro文件中添加如下两语句,一个是编译后的头文件夹,一个是静态库,一个是动态库,两个库选一个使用
注意:LIBS += -L的后面一定要加‘\’(否则编译报错)
INCLUDEPATH += D:\opencv3.4.6-build\install\include
LIBS += -L \
#D:\opencv3.4.6-build\install\x64\mingw\lib\libopencv_*.a
D:\opencv3.4.6-build\install\x64\mingw\bin\libopencv_*.dll
工程上右键执行qmake,编译通过即可。
6.测试CPP代码:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include
using namespace cv;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
Mat srcImg = imread("D:\\_Diagonal.jpg");
imshow("1",srcImg);
}
MainWindow::~MainWindow()
{
delete ui;
}