本文主要介绍如何搭建QT6+OpenCv的开发环境,基本流程如下
  1. 先安装CMake3.27.3,用来编译适用用QT的OpenCv的源码,安装完成后要配置系统的环境变量
  2. 安装Qt6的开发环境,并配置环境变量,注意一定要重启电脑才能生效
  3. 下载OpenCv的源码,用于后面的编译
  4. 上述环境准备好后,使用CMake来编译适配Qt的OpenCv源码
  5. 安装OpenCv
 
版本详情:QT6.4.3 + OpenCv4.7 + CMake 3.27.3
 
CMake的安装
  • CMake 的安装比较简单,一直按照默认设置点下去就可以,在下面的页面时,选择添加CMake到系统路径。
  • 安装完成后的文件如下
 
 
OpenCv的安装
  • 双击安装包,选择解压路径
  • 解压过程
  • 解压完成后文件如下:
 
Qt的安装
  • 一定要注意安装路径不要有空格
  • 双击安装包,然后一路点击“下一步”
  • 选择自定义安装
  • 选择Qt
 
  • 选择Developer and Designer Tools
  • 一路点击,继续安装
  • 安装进行中,这个过程比较长,需要先下载后安装
 
配置系统环境变量
  • 按照自己的安装路径,配置系统环境变量,配置完成后,一定要重启电脑
 
基于CMake 配置OpenCv的编译环境
  • 在opencv文件夹下新建rebuild_for_qt文件夹,存放新编译的内容
  • 打开CMake
  • 配置如下,点击Config
  • 在出现的界面进行如下配置
  • 在出现的界面,选择安装qt时的安装的gcc.exe 和g++
 
  • 点击Finished,进行配置
  • 配置完成之后,会有一些错误,然后进行选择后,再重新配置
    • 选中“WITH_OPENGL”、“WITH_QT”,WITH_OPENMP,
    • 将“WITH_IPP”取消,以及带有Python的配置取消
    • 然后再次点【Configure】
  • 再次Config后,依然会出现错误,主要是不能从github下载一些文件
  • 找到源码目录下的.cache\ffmpeg文件夹,把压缩包里的3个文件改为和下面文件名称一致
  • 再次Config后,就只剩下warning,不再有错误了,此时表示构建完成,然后点击Generate
  • 出现如下信息,表示构建完成
 
编译OpeCv
  • 在 rebuild_for_qt目录下打开命令行cmd,输入mingw32-make -j 2 的指令,注意 j 后面的2指的是自己电脑的内核数,这条指令的意思是创建2个线程来编译OpenCv, 可以根据自己电脑的配置来修改这个数字,按下回车开始编译。
  • 全部编译完成到100%,没有红色错误提示即可
 
  • 输入mingw32-make install 命令,进行安装,安装完成后如下
  • OpenCv安装完成后,要将其配置到系统环境中
 
使用Qt测试环境配置是否成功
  • 创建一个Qt的项目
  • 填写项目名称和存储路径
  • 打开.pro文件 配置头文件和库目录的引用
INCLUDEPATH += E:\opencv_4.7\rebuild_for_qt\install\include LIBS += E:\opencv_4.7\rebuild_for_qt\lib\libopencv_*.a
  • 测试代码,加载并显示一张图片
  • 编译并运行项目,图片成功显示,表示配置成功!
 
 
 
 
 
 
 

搭建 QT6+OpenCv4.7+CMake的环境的更多相关文章

  1. Codeblocks + opencv + Cmake + minGW 环境搭建(一劳永逸版)

    应工作开发需要,今天搭建一个codeblocks的C++开发环境,需要配置opencv2.4.4的API协同开发. 1.为了避免不必要的配置编译器,下载codeblocks16.1带mingw编译器版 ...

  2. 32位Ubuntu12.04搭建Hadoop2.5.1完全分布式环境

    准备工作 1.准备安装环境: 4台PC,均安装32位Ubuntu12.04操作系统,统一用户名和密码 交换机1台 网线5根,4根分别用于PC与交换机相连,1根网线连接交换机和实验室网口 2.使用ifc ...

  3. 模拟搭建Web项目的真实运行环境(一)

    序言 最近尝试完整搭建一个Web项目的运行环境,总结一下这几个月学到的知识点. 后面的文章主要包括一下几个内容: A. 搭建一个Linux服务器,用来部署Redis.Mongo等数据存储环境: B. ...

  4. 第五章——搭建S3C6410开发板的测试环境

    搭建S3C6410开发板的测试环境 通过本章的学习学会了如何在开发板上安装Android.开发板是学习和开发嵌入式技术的主要硬件设备,想要顺利的通过linux驱动访问硬件,是不能在PC板上模拟的,需要 ...

  5. 如何搭建lamp(CentOS7+Apache+MySQL+PHP)环境 [转]

    在网上搜资料,自己在本地虚拟机上尝试搭建,弄了整整一天一夜,终于弄好了.网上的资料,虽然很多,但大多都是重复的,拿去试了之后,又很多都不能得到正确的结果.最终找到了适合我的linux环境的搭建方式;在 ...

  6. 利用grunt-contrib-connect和grunt-connect-proxy搭建前后端分离的开发环境

    前后端分离这个词一点都不新鲜,完全的前后端分离在岗位协作方面,前端不写任何后台,后台不写任何页面,双方通过接口传递数据完成软件的各个功能实现.此种情况下,前后端的项目都独立开发和独立部署,在开发期间有 ...

  7. 【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

    jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过 ...

  8. Storm系列(一):搭建dotNet开发Storm拓扑的环境

    上篇博客比较了目前流行的计算框架特性,如果你是 Java 开发者,那么根据业务场景选择即可:但是如果你是 .Net 开发者,那么三者都不能拿来即用,至少在这篇文章出现之前是如此.基于上篇文章的比较发现 ...

  9. 转:【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

    原文地址:http://blog.csdn.net/wangfupeng1988/article/details/46418203 jQuery在使用grunt,bootstrap在使用grunt,百 ...

  10. Android开发学习总结(一)——搭建最新版本的Android开发环境

    Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...

随机推荐

  1. Manjaro linux 安装svn 并在文件管理器里显示相关图标

    需要先安装svn linux版打开终端执行 sudo pacman -S svn 安装完成后执行一下 svn --version 出现这个就说明svn已经安装完成了,这个时候我们可以执行 svn ch ...

  2. Python基础 - 算数运算符

    算数运算符   运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 - 两个数相乘或是返回一个被 ...

  3. 代码随想录算法训练营Day11 栈与队列|20. 有效的括号  1047. 删除字符串中的所有相邻重复项  150. 逆波兰表达式求值

    20.有效的括号 题目链接:20.有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合 ...

  4. 神经网络初步(Neural Network)——思想 具体实例以及代码实现

    在前面我们详细的讨论过softmax损失函数以及SVM损失函数,以及应用了支持向量机进行图片分类的任务,不妨先复习一下支持向量机相关的思想内核:支持向量机想要寻求一组映射关系f(x)=wx+b,先将每 ...

  5. C#/VB.NET:快速而简单的免费SVG到PDF转换技巧

    在日常工作中,我们常常需要将SVG转换为PDF格式.这是因为SVG格式的图像在打印时可能会出现问题,例如失去分辨率或无法正确适应纸张大小.与此相比,PDF格式则专门用于打印和共享文档,可以确保高质量输 ...

  6. Go语言中的原子操作

    1. 引言 在并发编程中,多个协程同时访问和修改共享数据时,如果没有使用适当的机制来防止并发问题,这个时候可能导致不确定的结果.数据不一致性.逻辑错误等严重后果. 而原子操作是解决并发编程中共享数据访 ...

  7. kafka学习笔记01

      类似于京东商城这种电商系统,一般会在前端页面进行埋点记录仪用户的行为数据,包括浏览.点赞.收藏.评论等.这些行为会被记录到日志服务器中,使用Flume进行采集,然后传入Hadoop中.   Flu ...

  8. 基于JavaFX的扫雷游戏实现(一)——整体概述

    我在不要更新挑战中坚持了一年,你也来试试吧(咕咕咕)!   好言归正传,本次更新带来的是经典游戏扫雷,基于JavaFX实现.篇幅有限,文章主要介绍核心操作实现,不会列出所有代码.需要完整源码或是想预览 ...

  9. 前端学习 C 语言 —— GDB调试器

    GDB调试器 我们在讲指针时用 GDB 调试段错误. 本篇将详细介绍 gdb 的最常用命令.日志记录.检测点,最后介绍如何用 gdb 调试进程以及用gdb 调试一个开源项目的调试版本 -- glmar ...

  10. iOS Block笔记总结

    前言: 对block的简单笔记总结, 1.本质: 封装了函数调用和函数调用环境的对象 2.block结构: 3.block捕获变量: 由于需要跨函数访问变量,所以需要捕获变量,(防止访问时已被销毁)  ...