Windows10下QT6.0(C++)+OpenCV4环境配置及安装(未成功)

Windows10下QT6.0(C++)+OpenCV4(一)

由于工作原因,要开始加入到QT的开发大军中来。 说实话以前没有做过QT的开发,也算零基础入门了。这篇文章记录一下环境的安装配置。以便于后期复习回顾。先装上开源的学习一下,后期有需要再购买正版。
P.S.本打算今天一天装完写完的,结果发现QT6.0太新了,OpenCV4.5.1对应Cmake的操作执行不下去了,后面再补充吧-2021-01-24

下载安装QT6.0

首先进入官网下载地址进行下载官方下载器
QT6.0下载地址
下载入口
下载
下载完成

到这一步,你能得到一个qt-unified-windows-x86-4.0.1-online.exe

  1. 双击运行qt-unified-windows-x86-4.0.1-online.exe
    输入用户邮箱,密码
  2. 确保你有在QT官网注册账号,使用登陆密码登录;
    按需输入
  3. 一直点击下一步,到是否帮助收集信息这里,点否;
    选择不提供统计信息
  4. 选择自定义安装 Custom installation ,这样才能选到QT6.0.0;
    选择自定义安装
  5. 勾选必要的组件,我这里选择的是MinGW 8.1.0 64-bit以及Qt 5 Compatibility Module,分别是Mnimalist GNU for Windows,也就是windows平台的GNU工具集导入库的集合以及 Qt 5 的兼容性模块,毕竟很多Qt 6刚出;
    勾选必要的组件
  6. 接受license 协议 并点击Next,选择快捷方式名称,再点击下一步;
    接受协议
  7. 点击Install 开始安装;
    安装确认
  8. 开始安装
    安装开始
  9. 安装完成
    安装完成
  10. 顺利打开应用即可
    打开应用
  11. 后续模块升级 ,添加新的组件,请进入安装路径,双击 MaintenanceTool.exe执行,按照前面第5步补充勾选即可。
    模块升级

下载安装Cmake(OpenCV4需要)

(注意:(1)安装路径不能有中文和空格(2)勾选加入环境变量)
1.下载安装Cmake
Cmake下载
选择下载最新的包

2.下载完毕得到cmake-3.19.3-win64-x64.msi,双击运行
Cmake安装
3.下一步至配置PATH界面,按下图勾选,并下一步。
配置CMake环境
4.至下图完成安装。
Cmake完成安装
5.打开客户端效果如下图。
客户端打开样式

下载安装OpenCV4

1.下载安装OpenCV4
Opencv4官网下载链接
下载入口
2.下载得到opencv-4.5.1-vc14_vc15.exe
3.双击安装
4.配置之前Qt的环境变量
环境变量配置
5.配置Cmake路径
源路径:安装OpenCV的位置的sources文件夹
生成路径:在OpenCV安装位置下,新建一个文件夹,随便起名字。这里我起的"Cbuild"
Cmake相关路径
6.点击Configure,出现下图,选择“MinGW Makefiles”并点击第二个,配置在本地,点击Next:
选择编译方式
7.在此界面选择Qt目录下指定位置的gcc和g++工具,并点击Finish:
本人对应路径为:
C:C:\Qt\Tools\mingw810_64\bin\gcc.exe
C++:C:\Qt\Tools\mingw810_64\bin\g++.exe
选择Qt工具
8.报了个错如下: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.
9.解决方案如下:
勾选Grouped,Advanced
将CMAKE_MAKE_PROGRAM项后面的路径设置为Qt安装路径下的路径如下所示:C:\Qt\Tools\mingw810_64\bin\mingw32-make.exe,重新点击Configure,问题解决。
修改
10.正常编译结束后如图:
编译结束
11.补充勾选WITH_QT,WITH_OPENGL,再次点击Configure---------2021-01-24至此报错“”
QT
OpenGL
12.报错如下,他还在找Qt5,但实际上已经是Qt6了,他找不到了。。。:
报错1
报错2
17.即使我在这里补充成新的路径,执行后依然不通过。
在这里插入图片描述
18.我在报错对应的文件中,找到Qt5,全部替换为Qt6,这部分通过了!
文件1
19.通过见下图,然后又出了新的问题:
报错4
把所有能看到的,报错的文件,打开,把里面QT5改成QT6,Qt5改成Qt6,只出现一次的,没有用的include,注释掉。比如“I:\WORK\OpenCV\opencv\sources\modules\highgui\CMakeLists.txt”之类的

最终编译成功
另外:
不勾选 WITH_IPP
不勾选与TESTS有关的选项
不勾选 ENABLE_PRECOMPILED_HEADERS
不勾选WITH_MSMF
勾选 ENABLE_CXX11
编辑H:\opencv3.4.3\opencv\sources\modules\videoio\src\cap_dshow.cpp文件,在约110行左右#include "DShow.h"上面添加#define NO_DSHOW_STRSAFE,#define STRSAFE_NO_DEPRECATE。
另外:Cmake缺失“opencv_videoio_ffmpeg.dll,opencv_videoio_ffmpeg_x64.dll”需要自己在网上找好了,然后补充道Source文件下的I:\WORK\OpenCV\opencv\sources\3rdparty\ffmpeg目录下。

修改Qt5相关的需求等,并且点击Add Entry,按图补充内容,再次点击Configure:
其中Value改为“C:\Qt\6.0.0\mingw81_64\bin\qmake.exe”
完善qt相关配置
13.建议取消勾选OPENCV_ENABLE_ALLOCATOR_STATS,并CMAKE_BUILD_TYPE为Release
在这里插入图片描述
release

14.成功Configuring done。点击“Generate”
Generating
15.在opencv对应生成目录下,执行对应命令。
管理员cmd进入“I:\WORK\OpenCV\opencv\Cbuild\”下。下面命令的8为需要用到的逻辑处理器个数,建议量力而行。具体自己有多少可以在任务管理器里看到。
执行:mingw32-make -j 8
编译

错误1:window_QT.h,moc_window_QT.h中引用的QtOpenGL不存在
错误01
到这里无法解决了,怎么加环境变量也没用,
突然想到第12步,我将CMakeList.txt中**include(${QT_USE_FILE})**给注释掉了,当时认为不会被调用
添加上重新编译报错:
CMake Error at modules/highgui/CMakeLists.txt:74 (include):
include called with wrong number of arguments. include() only takes one
file.
Call Stack (most recent call first):
modules/world/CMakeLists.txt:13 (include)
modules/world/CMakeLists.txt:32 (include_one_module)

可以看到,确实在此文件上报错。通过查询此问题原因,发现这里可以修改include改成include_directories

修改后可以完成。。。终于长出一口气
修改后
再次进入目录执行:mingw32-make -j 8
还是报同样的错误,心态崩了。

网上针对这个**include called with wrong number of arguments. include() only takes one file.**继续查找,在连接找到一个方法:
Cmake and QT5
解释
尝试修改后,完全对不上。没法搞。2021-01-25,后面再看吧。。

16.在opencv对应生成目录下,编译完成(100%)之后执行安装命令,会在相关目录下生成库文件。执行对应命令。
管理员cmd进入“I:\WORK\OpenCV\opencv\Cbuild\”下
执行:mingw32-make install

在这里插入图片描述

2021.01.25
试着用QT5装了一下,按照上面的流程,很成功。
Qt5的opencv编译
安装成功
将对应目录放到环境变量中,我这里是I:\WORK\OpenCV\opencv\qt5opencvrebuild\install\x64\mingw\bin

新建一个项目,配置.pro文件里,引入opencv
testpro
配置头文件以及调用代码
test2
搞定
搞定
所以说Qt6.0什么时候能出对应的opencv版本,再装吧。。。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迷失的walker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值