作为一个QT小白,最近在配置QT5+OpenCV,却发现总是踩坑。好在我成功配置好了。
系统版本:win10 64位系统
QT5版本:qt-opensource-windows-x86-5.12.3.exe
Cmake版本:cmake-3.17.0-win64-x64.zip
OpenCV版本:opencv-4.3.0.zip
首先安装QT
win10中安装软件最好不要装在C盘,避免权限问题。
组件中一定要选中MinGW版本的编译器,我这里选择32位,QT其他的请随意
还有Developer and Designer Tools中,也要选中MinGW
然后下一步,等待QT安装成功。
安装Cmake
解压cmake 3.17,,安装过程中勾选
然后下一步更改安装路径到D盘,继续点击直至安装完成。
设置系统环境变量
将如下目录添加到系统环境变量中(QT安装目录和CMake安装目录):
D:\Qt\Qt5.12.3\Tools\mingw730_32\bin
D:\Qt\Qt5.12.3\5.12.3\mingw73_32\bin
D:\CMake\bin
重启一下系统。
配置Cmake
解压OpenCV到D盘。
在D盘建立一个任意英文目录,我取名为opencv,再打开Cmake
where id the source code:这里选择opencv的源文件目录
where to build the binaries:这里选择后面新建的那个目录
勾选Advanced,点击Configure
点击下一步,后稍作暂停。
打开QT,选择 工具→选项→编译器,查看C和C++的路径
把gcc和g++的路径复制到cmake,点击完成,后等待
勾选中“WITH_OPENGL”、“WITH_QT”;不勾选“WITH_IPP”。
特别的,不要勾选如下选项
否则会出现
modules\core\CMakeFiles\opencv_core.dir\build.make:1506:modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj
错误,需要手动编译vs_version.rc.obj文件。
然后再次点 Configure。
出现如下错误,检查路径是否正确
确认后,再次点 Configure,直到没有错误为止。
点击 Generate,稍等片刻。
编译OpenCV
打开windows powershell,定位到自己后面新建的目录。我这里是opencv,执行mingw32-make
该命令可以调用多线程执行:mingw32-make -j8;这表示使用8线程
完成之后输入mingw32-make install
将以下路径添加到系统环境变量
D:\opencv\install\x64\mingw\bin
D:\opencv\bin
重启电脑。
测试OpenCV
在QT的pro文件中添加以下代码:
INCLUDEPATH += D:\opencv\install\include
D:\opencv\install\include\opencv2
LIBS += D:\opencv\lib\libopencv_*.a
建立QT工程进行测试
代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "opencv2/opencv.hpp"
using namespace cv;
using namespace std;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
Mat srcImage = imread("C:\\Users\\admin\\Desktop\\opencvTest.jpg");
imshow("test",srcImage);
}