当前位置:网站首页>qt学习之旅--MinGW32编译opencv3.0.0
qt学习之旅--MinGW32编译opencv3.0.0
2022-08-03 05:44:00 【van久】
1、配置环境
Qt5.6.3+mingw49_32+cmake3.24.0+opencv3.0.0
cmake下载:Download | CMake 
opencv下载:Releases - OpenCV ,往后翻历史版本,我下载的是sources
2、参考博客
博客一:Qt配置OpenCV教程,亲测已试过(详细版)_Wi~的博客-CSDN博客_qt配置opencv
博客二:Qt5.6.1+mingw32+opencv3.0使用成功_fang_chuan的博客-CSDN博客
博客三:利用CMake生成OpenCV-3.0.0的VS2013工程(解决方案),并在VS2013下进行编译的详细过程记录(从失败到成功的曲折过程)_昊虹图像算法的博客-CSDN博客_opencv3.0 源码
3、踩坑过程
3.1、opencv版本过高,QT自带的MinGW编译不过报错
开始时按照博客一的叙述,下载了cmake最新版:3.24.0,下载了opencv最新版:4.6.0。(QT是以前就下载好的版本,且选择的是mingw32位的)
一直参照博客一的操作,到进入Windows Powershell,执行 mingw32-make,却出现报错:
error: temporary of non-literal type 'google::protobuf::internal::CallOnceInitializedMutex<std::mutex>' in a constant expression
constexpr WrappedMutex() {}
参考别的博主回答:


所以便放弃了opencv4.6.0,后参考博客二,下载了旧版本3.0.0。
3.2、须注释add_extra_compiler_option(-Werror=non-virtual-dtor)
参考博客一、二,步骤基本差不多,值得注意的是,一定要:
①、不能勾选WITH_IPP,勾选WITH_OPENGL和WITH_QT
②、到 X:\XXXX\opencv\sources\cmake 下找到 OpenCVCompilerOptions.cmake文件,找到这句话 add_extra_compiler_option(-Werror=non-virtual-dtor) 注释掉他,不然会出现报错:error: base class 'struct IUnknown' has accessible non-virtual destructor [-Werror=non-virtual-dtor]
3.3、下载文件 ippicv_windows_20141027.zip
当我换成opencv3.0.0后,cmake-gui.exe点击第二次configure时,整个过程花费时间不少,时间主要是耗费在了下载文件 ippicv_windows_20141027.zip上,如下图所示:
最终还是没有下载成功,见下面的报错说明。
ICV: Downloading ippicv_windows_20141027.zip...
CMake Error at 3rdparty/ippicv/downloader.cmake:71 (file):
file DOWNLOAD HASH mismatch
for file: [F:/Build-openCV3.0.0/opencv-3.0.0/3rdparty/ippicv/downloads/windows-b59f865d1ba16e8c84124e19d78eec57/ippicv_windows_20141027.zip]
expected hash: [b59f865d1ba16e8c84124e19d78eec57]
actual hash: [827569eea3481e6da39d28713cc4309d]
status: [28;"Timeout was reached"]
Call Stack (most recent call first):
3rdparty/ippicv/downloader.cmake:108 (_icv_downloader)
cmake/OpenCVFindIPP.cmake:235 (include)
cmake/OpenCVFindLibsPerf.cmake:12 (include)
CMakeLists.txt:526 (include)
CMake Error at 3rdparty/ippicv/downloader.cmake:75 (message):
ICV: Failed to download ICV package: ippicv_windows_20141027.zip.
Status=28;"Timeout was reached"
Call Stack (most recent call first):
3rdparty/ippicv/downloader.cmake:108 (_icv_downloader)
cmake/OpenCVFindIPP.cmake:235 (include)
cmake/OpenCVFindLibsPerf.cmake:12 (include)
CMakeLists.txt:526 (include) 上面的报错是说文件 ippicv_windows_20141027.zip下载失败。所以我们得重新手动下载后,将ippicv_windows_20141027.zip 放于文件夹X:/XXX/opencv-3.0.0/3rdparty/ippicv/downloads/windows-b59f865d1ba16e8c84124e19d78eec57/下(不要解压):
该错误参考博客三改正完成
3.3.1、百度网盘资源: ippicv_windows_20141027.zip
链接:https://pan.baidu.com/s/1pz_pufD0CFUxLN3cpqpwLw?pwd=jng7
提取码:jng7
边栏推荐
猜你喜欢

El - tree to set focus on selected highlight highlighting, the selected node deepen background and change the font color, etc

用代码构建UI界面

ES 中时间日期类型 “yyyy-MM-dd HHmmss” 的完全避坑指南

MySQL的触发器

prometheus 监控mysql数据库

Docker安装Mysql

Nacos下载与安装

el-table获取读取数据表中某一行的数据属性

MySQL 日期时间类型精确到毫秒

el-table实现列筛选功能,控制列的显示和隐藏(实现简单,效果满分)
随机推荐
UniApp scroll-view 事件不生效(@scroll、@scrolltolower、@scrolltoupper ...)
IFM network detailed explanation and torch reproduction
用代码构建UI界面
置顶文章-
Getting Started with Chrome Plugin Development
Pinned Articles-
Nacos单机模式的安装与启动
el-tabs(标签栏)的入门学习
ClickHouse删除数据之delete问题详解
spark中的cache和checkpoint
信息学奥赛一本通T1449:魔板
Getting started with el-tabs (tab bar)
docker-compose部署mysql
DIFM network, rounding and repetition
【云原生 · Kubernetes】Kubernetes简介及基本组件
cookie和session区别
信息学奥赛一本通T1450:Knight Moves
MySQL之DQL——查询语言
单节点部署 gpmall 商城系统(一)
mysql的配置文件(my.ini或者 my.cnf)所在位置