一、环境条件说明:

操作系统:Windows10 64环境

编译工具:用Qt5.12.12自带的mingw730_64构建

构建对象:编译OpenCV4.1.0的Release 64位和Debug 64位动态链接库

构建工具:CMake中的参数配置

二、cmake-3.20.6中的参数配置

1、按照下图配置好OpenCV4.1.0的源代码目录和构建编译输出目录,然后点击Configure按钮,如下图所示:

2、在弹出的界面中,按照下图配置构建工程类型、gcc和g++编译器路径:

3、在使用CMake编译OpenCV_contrib时遇到的错误,由于源文件未成功下载导致编译失败。通过分析CMake的日志文件CMakeDownloadLog.txt,可手动下载缺失的opencv_ffmpeg.dll并放置于正确位置。OpenCV4.1.0所需要的opencv_ffmpeg.dll和opencv_ffmpeg_64.dll下载网盘地址如下:

链接: https://pan.baidu.com/s/1AWnC_MjuAAWYgwvlHziTqA?pwd=juta 提取码: juta

4、把BUILD_opencv_world、OPENCV_ENABLE_NONFREE选项选中,如下图:

5、分别设置OPENCV_EXTRA_MODULES_PATH为扩展模块的modules目录,如下图:

6、分别开启WITH_QT、WITH_OPENGL、WITH_OPENMP等参数选项,如下图:

7、分别关闭ENABLE_PRECOMPILED_HEADERS、WITH_OPENCL_D3D11_NV、WITH_IPP等参数选项,如下图:

8、在cmake-3.20.6界面中依次搜索example和test,取消例子、测试应用程序的编译。因为在Windows10 64环境下用Qt5.12.12自带的mingw730_64构建编译OpenCV4.1.0时,测试应用test会报编译错误,导致编译OpenCV4.1.0的Debug 64位动态链接库失败。如下图:

9、编译时会提示以下错误:第一个错误提示的是:undefined reference to `cvv:::qtutil::ZoomableImage::updateArea(QRect,double)'之类的,后面还有很多与opencv的cvv模块有关的报错。根据个人编译实践猜测,可能是由于扩展模块中的cvv模块的开启会与BUILD_opencv_world设置有点冲突。参考这篇博文解决:编译opencv 遇到undefined reference to `cvv::XX 错误:https://blog.csdn.net/panmengjiaa/article/details/114693766。可在cmake-3.20.6界面中点击“Add Entry”按照下图添加变量BUILD_opencv_cvv,如下图所示:

10、配置完上述参数之后,再次点击Configure,如果没有错误,可点击Generate,没有错误提示之后就可以依次执行以下目录进行编译和安装:

#使用下面命令开始编译opencv,需要20分钟左右。其中,-j 8 代表多核编译

mingw32-make -j 8

#编译完成之后,输入如下指令安装

mingw32-make install

11、注意按照上述步骤默认编译出来的是OpenCV4.1.0的Release 64位动态链接库。可在cmake-3.20.6界面中搜索CMAKE_BUILD_TYPE,将其设置为Debug,保持其他参数值不变,再次按照前一步中的说明编译OpenCV4.1.0的Debug 64位动态链接库,如下图所示:

----------------------------------------------------------------------------------------------------------------------

详细的步骤可参考以下链接:

1)        三、Qt配置opencv环境(详细,简易)https://download.csdn.net/blog/column/11496363/121620850

2)        qtopencv配置https://blog.51cto.com/u_12929/12714843

3)        Qt5.12配置OpenCV教程https://www.cnblogs.com/ybqjymy/p/18070391

4)        【开发实战】QT5 + OpenCV4开发环境配置应用演示https://zhuanlan.zhihu.com/p/719915221

5)        OpenCV4 + Qt5 开发环境配置合集(C++/Python):https://www.bilibili.com/video/BV1Za4y1v7ra/?vd_source=e39e23ac5a7253752edc9b53b94c0c3d

6)        How to setup Qt and openCV on Windows:https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows

7)        Qt5.9.7中使用MinGW32编译OpenCV4.1.0过程https://blog.csdn.net/zhoufoxcn/article/details/103737848

8)        OpenCV使用CMake和MinGW的编译安装及其在Qt配置运行https://blog.csdn.net/huihut/article/details/78701814

9)        OpenCV使用CMake和MinGW-w64的编译安装https://blog.csdn.net/huihut/article/details/81317102

10)     【完美解决】OpenCVError: Insufficient memory (Failed to allocate xxx bytes) 报错的辛酸踩坑史https://blog.csdn.net/qq_52949697/article/details/123033368

11)     opencv库不支持qt qt配置opencv出错https://blog.51cto.com/u_12192/10896803

12)     minGW编译opencv4.1.0时  undefined reference to to cvv::view::MatchVIew

13)     undefined reference to `cvv:::qtutil::ZoomableImage::updateArea(QRect,double)'之类的,后面还有很多与opencv的cvv模块有关的报错。解决办法参考:编译opencv 遇到undefined reference to `cvv::XX 错误:https://blog.csdn.net/panmengjiaa/article/details/114693766

Windows10 64环境下用Qt5.12.12自带的mingw730_64构建编译OpenCV4.1.0时cmake-3.20.6中的参数配置的更多相关文章

  1. Windows10 64位下安装TensorFlow谷歌人工智能系统已官方原生支持

    Windows10 64位下安装TensorFlow谷歌人工智能系统已官方原生支持 GitHub - tensorflow/tensorflow: Computation using data flo ...

  2. MinGW下编译curl-7.60.0时, 发生ERROR_FILE_NOT_FOUND undeclared

    在编译curl-7.60.0时, 遇到ERROR_FILE_NOT_FOUND undeclared 这个情况, 就没法编译成功!! 下载了以往的版本, 发现是从curl-7.59.0版本开始才有 t ...

  3. windows7环境下 硬盘安装ubuntu 12.04 server版

    之前一直用windows7环境下的虚拟机装的操作系统,但有时候在切换系统时老是死机,还是装一个硬盘版的ubuntu 12.04 server吧 先说一下本人的环境吧:windows 7 32位专业版+ ...

  4. 2 pygraphviz在windows10 64位下的安装问题(反斜杠的血案)

    可以负责任的说,这篇文档是windows10安装pygraphviz中,在中文技术网站中最新的文档,没有之一.是自己完全结合各种问题,包括调试等,总结出来的. 问题来源:主要是可视化RvNN网络的树结 ...

  5. Windows环境下使用python 3.x自带的CGI服务器测试cgi脚本--Python

    1.在桌面上新建一个文件夹作为服务器目录文件夹(文件夹名称自定义,文件夹位置自定义),在www文件下再建一个文件夹,文件夹名为“cgi-bin”,须是这个文件名,其他试过不行(原因暂时未知)

  6. linux环境下安装git(采用github下载git源码编译)

    [目的]:linux环境下 安装配置git成功 [准备条件]linux系统,git包 1.先行下载git包 -- 从github上https://github.com/git/git/releases ...

  7. 转:浅谈UNIX下Apache的MPM及httpd.conf配置文件中相关参数配置

    为什么要并发处理 以Apache为代表的web服务器中,如果不支持并发,则在一个客户端连接的时候,如果该客户端的任务没有处理完,其他连接的客户端将会一直处于等待状态,这事不可想象的,好像没有为什么要不 ...

  8. windows10 64位下安装oracle 11g和PL/SQL Developer

    一.材料准备: oracle11g安装包(64位) oracle11g客户端(32位) PL\SQL Developer安装包(32位) 1.下载Oracle 11g链接:http://www.ora ...

  9. Nexus6-刷LineageOS系统(Windows10处理环境下)

    0.观前注意 本方法不一定保证正确,我只是通过了此方法进入了手机,但是仍然有少部分apk无法安装(比如v2rayNG),但是正常的浏览器和qq是能够正常运行的. 1.刷机准备 一台Nexus6手机(能 ...

  10. Windows10 + VS2015 环境下对gdal2.0.1进行64bit编译小结

    这是官方给出的编译指导,但是在实践过程中有几点仍然需要特别注意. Tip 1:不要使用默认的"VS开发人员命令提示"工具,使用该工具会遭遇如下的错误: 正在创建库 gdal_i.l ...

随机推荐

  1. 如何优雅地将AI人工智能在线客服嵌入企业网站

    随着人工智能(AI)技术的飞速发展,越来越多的企业意识到,将AI客服嵌入企业网站是提升客户体验.提高工作效率的重要手段.相比于传统的人工客服,AI客服可以24/7全天候服务,不仅能有效处理大部分用户问 ...

  2. 9.Kubernetes核心技术-Controller

    Kubernetes核心技术-Controller 内容 什么是Controller Pod和Controller的关系 Deployment控制器应用场景 yaml文件字段说明 Deployment ...

  3. python实现的扫雷游戏的AI解法(启发式算法)

    相关: python编写的扫雷游戏 如何使用计算机程序求解扫雷游戏 本文中实现的<扫雷>游戏的AI解法的项目地址: https://openi.pcl.ac.cn/devilmaycry8 ...

  4. vue2-基础核心

    vue简介 vue中文官网 动态构建用户界面的渐进式 JavaScript 框架 vue的特点: 遵循MVVM模式 采用组件化模式,提高代码复用率,让代码更好维护 声明式编码,无需直接操作DOM,提高 ...

  5. 2023NOIP A层联测28 T4 小猫吃火龙果

    2023NOIP A层联测28 T4 小猫吃火龙果 分块题,跟赛时的一个倍增部分分做法很像. 思路 如果没有动态操作,可以设 \(dp[i][T][k]\) 为:在 \(i\) 时为 \(T(T\in ...

  6. hyperf使用session

    在hyperf里面使用session的时候可以先安装组件包 composer require hyperf/session Session 组件的配置储存于  config/autoload/sess ...

  7. 深入解析 WezTerm 的自定义功能:键绑定和鼠标绑定

    WezTerm 是一个高性能的跨平台终端模拟器,它提供了广泛的自定义选项,包括键绑定和鼠标绑定,使得用户可以根据自己的需求优化操作界面.本文将详细介绍几个关键的自定义功能,解释它们的用途,并展示如何配 ...

  8. 如何编写一个高效的Java表达式求值程序

    当然,这个标题是有一点夺人眼球,但我确实这么做了(关于是否相信基准测试结果,这是另一个话题). 所以,上周我一直在找一个小型.实用的计算数学表达式的类库.偶然间我在stackoverflow上看到了一 ...

  9. 看不懂来打我,Vue3的watch是如何实现监听的?

    前言 watch这个API大家都很熟悉,今天这篇文章欧阳来带你搞清楚Vue3的watch是如何实现对响应式数据进行监听的.注:本文使用的Vue版本为3.5.13. 关注公众号:[前端欧阳],给自己一个 ...

  10. vue之slot和slot-scope

    插槽分两类,默认插槽和具名插槽:通俗理解就是默认插槽是没有名称的插槽,具名插槽是有名称的插槽. 何时使用插槽?简单的举个栗子:有2个组件,父组件father,子组件son. 父组件 father &l ...