快捷搜索: 王者荣耀 脱发

window10 Qt自带MinGW+CMake3.15编译OpenCV4.1

OpenCV是使用C/C++编写的,官方网站提供的版本Qt不能直接使用,需要使用CMake重新编译Qt可用的版本。

1、下载安装Qt,网址:,需要注册,安装时选择组件MinGW

2、下载安装CMake,网址:,安装最新版本3.15, 安装时注意勾选“Add CMake to the system PATH for all users”

3、下载OpenCV4.1源码,网址:,下载最新版本4.1.0

>> 修改系环境变量

在Path变量中新增mingw32-make所在目录

>> 打开CMake (cmake-gui)应用程序

设置源码路径和OpenCV导出路径

    Where is the source code: C:UsersadminDesktopopencv-4.1.0 Where to build the binaries: C:UsersadminDesktopopencv_build

点击 Configure,设置编译器

    Specify the generator for this project: MinGW Makefiles Specify native compilers Compilers C: C:SoftwareQtToolsmingw730_64ingcc.exe Compilers C++: C:SoftwareQtToolsmingw730_64ing++.exe

再次点击Configure,此时报错CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool

原因:这是因为没有选择MinGW编译器,勾选右上角Grouped、Addvanced,会显示CMAKE_MAKE_PROGRAM项,把路径设置为C:SoftwareQtToolsmingw730_64inmingw32-make.exe,重新点击Configure,问题解决!

搜索框搜索以下宏定义

    勾选WITH_OPENGL 勾选WITH_QT 不勾选WITH_IPP 不勾选ENABLE_PRECOMPILED_HEADERS 不勾选 WITH_OPENCL_D3D11_NV,否则会报错‘D3D11_TEXTURE2D_DESC’ was not declared in this scope

再次点击Configure,没有问题点击Generate.

>> 打开CMD终端,进入导出目录

执行mingw32-make

执行mingw32-install

>> 提取头文件及库

编译好之后,把下面三个文件夹提取出来放在一个新目录下,比如:C:UsersadminDesktopopencv410

    opencv_buildinstallinclude文件夹 opencv_buildlib文件夹 opencv_buildin文件夹

>> Qt项目添加Opencv库

.pro文件添加如下内容(库路径视需要添加):

LIBS+= -L$$PWD/opencv410/bin -llibopencv_highgui410
LIBS+= -L$$PWD/opencv410/bin -llibopencv_core410
LIBS+= -L$$PWD/opencv410/bin -llibopencv_imgproc410
LIBS+= -L$$PWD/opencv410/bin -llibopencv_imgcodecs410

INCLUDEPATH += $$PWD/opencv410/include

参考:

经验分享 程序员 微信小程序 职场和发展