本文默认已经安装好了qt5.14.2和cmake
1.下载opencv4.4.0与opencv4.4.0contrib
opencv下载及安装,官网下载地址:https://opencv.org/releases/
opencv-contrib下载及安装Index of /opencv/opencv_contrib/ (raoyunsoft.com)
2.cmake配置
1.选取opencv源码路径和编译路径:源码路径为opencv下的source文件夹,
编译路径自己新建一个
2.点击上图中的Configure按键,如下图选择,选择完点Next
3.接下来选择自己安装的qt下的gcc和g++编译器,注意这里修改自己实际的路径,
我的路径E:/INSTALL/Qt/Qt5.14.2/Tools/mingw730_32/bin/gcc.exe
E:/INSTALL/Qt/Qt5.14.2/Tools/mingw730_32/bin/g++.exe
选择完点Finish,等待configure done
4.勾选两个基本选项
WITH_OPENGL 勾选
WITH_QT 勾选
5.打开 opencv源码路径中的CMakeLists.txt,添加qt的mingw32路径
set (CMAKE_PREFIX_PATH "E:/INSTALL/Qt/Qt5.14.2/5.14.2/mingw73_32")
根据自己的qt实际路径修改,修改号后保存
6.点Configure按钮,等待configuring done,没有问题就往下
7.这一步将添加 opencv-contrib库,这一步cmake操作很多,这里不再截图,请看文字
(所有项,没有的条目得创建)
OPENCV_ENABLE_NONFREE 勾选
OPENCV_EXTRA_MODULES_PATH 添加之前下载的opencv-contrib的modules目录
OPENCV_VS_VERSIONINFO_SKIP 勾选
WITH_IPP 取消勾选
BUILD_opencv_world 取消勾选
BUILD_PERF_TESTS 取消勾选
BUILD_TESTS 取消勾选
BUILD_opencv_python_tests 取消勾选
//先Configure,下面的选项就出来了
BUILD_opencv_rgbd 取消勾选(它与WITH_OPENGL只能勾选其一)
点Configure按钮,等待configuring done
8.点Generate,等待完成,完成后关闭cmake
3.编库
1.进入自己新建的编译文件夹中,比如我这里就是D:\WorkSpace\MY_LIBS\opencv\build32,可以看到里面生成了许多文件
在此文件夹中,按住shift点击右键,选择在此处打开Powershell窗口
2.输入
mingw32-make -j 16
等待完成,到这一步我已经能make通过了,如果还有问题,踩坑记录请告知
3.编译完成后输入命令进行安装
mingw32-make install
完毕!
4.在qt中打印版本号
pro文件中添加lib库和include的路径
LIBS += -L$$PWD/dependence/opencv/lib/ -llibopencv_core440
INCLUDEPATH += $$PWD/dependence/opencv/include
DEPENDPATH += $$PWD/dependence/opencv/include
包含头文件
#include <QString>
#include <QDebug>
#include <opencv2/core.hpp>
写入代码
qDebug() << QString::fromStdString(cv::getVersionString());
在MinGW32环境中就可以编译通过了,由于是动态链接库,所以运行会依赖dll文件
把对应的libopencv_core440.dll放到运行目录下
好了,打印了版本号,基本问题不大了
MinGW64库的编译几乎与这MinGW32库一模一样,基本上把过程中的32字样换64就ok了,我已经编译通过并测试了。