一、环境条件说明:

操作系统: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. Nessus 安装 笔记

    Nessus 安装 笔记 根据 https://www.zwnblog.com/archives/nessus-jie-shao-yu-an-zhuang#2.kali%E5%AE%89%E8%A3% ...

  2. 使用Pydantic和SqlAlchemy实现树形列表数据(自引用表关系)的处理,以及递归方式处理数据差异

    在我的设计框架业务中,字典大类.部门机构.系统菜单等这些表,都存在id.pid的字段,主要是作为自引用关系,实现树形列表数据的处理的,因为这样可以实现无限层级的树形列表.在实际使用Pydantic和S ...

  3. OpenFunction v1.1.0 发布:新增 v1beta2 API,支持 Dapr 状态管理

    OpenFunction 是一个开源的云原生 FaaS(Function as a Service,函数即服务)平台,旨在帮助开发者专注于业务逻辑的研发.在过去的几个月里,OpenFunction 社 ...

  4. 业务上线在即,ODBC应用程序性能频频掉线怎么搞?

  5. Java高并发Lock接口讲解,精准通知线程间的执行顺序

    题目:两个线程操作一个变量,实现两个线程对同一个资源一个进行加1操作,另外一个进行减1操作,且需要交替实现,变量的初始值为0.即两个线程对同一个资源进行加一减一交替操作. Lock接口与Conditi ...

  6. Nuxt.js 应用中的 prepare:types 事件钩子详解

    title: Nuxt.js 应用中的 prepare:types 事件钩子详解 date: 2024/11/8 updated: 2024/11/8 author: cmdragon excerpt ...

  7. You Shi Zai Wo

    Xuzhou is a place where there have been more than 50 large-scale battles from ancient times to the p ...

  8. 如何把composer版本降下来

    如果想把composer从2版本降到1版本 composer self-update 1.4.1 如果想降到1版本 composer self-update --1

  9. 【昌哥IT课堂】MySQL8.0新特性之不可见主键

    一.概述作为 MySQL DBA ,相信大家都经历过在复制模式下,如果没有主键,遇到 load data ,大事务,ddl 等有大量表数据行扫描的行为时,会带来严重的主从延迟,给数据库稳定性和数据一致 ...

  10. golang模板库之fasttemplate

    简介 fasttemplate是一个比较简单.易用的小型模板库.fasttemplate的作者valyala另外还开源了不少优秀的库,如大名鼎鼎的fasthttp,前面介绍的bytebufferpoo ...