当前位置:网站首页>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
边栏推荐
猜你喜欢
随机推荐
MySQL的Replace用法详解
MySQL的安装教程(嗷嗷详细,包教包会~)
5 个开源的 Rust Web 开发框架,你选择哪个?
SQL——左连接(Left join)、右连接(Right join)、内连接(Inner join)
Detailed explanation of AutoInt network and pytorch reproduction
Scala 高阶(七):集合内容汇总(上篇)
MYSQL存储过程注释详解
Embedding的两种实现方式torch代码
Multi-Head-Attention原理及代码实现
Composer require 报错 Installation failed, reverting ./composer.json and ./composer.lock to their ...
MySQL之concat的用法
pyspark --- 统计多列的众数并一次返回
empty() received an invalid combination of arguments - got (tuple, dtype=NoneType, device=NoneType),
Nacos单机模式的安装与启动
ClickHouse删除数据之delete问题详解
DIFM网络详解及复现
Embedding two implementations of the torch code
Chrome configuration samesite=none method
SQLServer2019安装(Windows)
MySQL的安装(详细教程)