当前位置: 首页 > news >正文

FFmpeg 4.3 音视频-多路H265监控录放C++开发三 :安装QT5.14.2, 并将QT集成 到 VS2019中。

一,安装QT,

重点:在安装QT的时候要安装msvc201x版本的组件,

二 , 安装 qt-vs-tools

Index of /development_releases/vsaddin/2.8.1

三,需要安装过 windows10 SDK,一般我们在安装vs2019的时候就已经安装过了,如果没有,则要单独安装一下 windows10 SDK

安装版本是: 20348.1.210507-1500.fe_release_WindowsSDK

地址在:

Windows SDK和模拟器存档 | Microsoft Developer

要记住你安装的 这个地址,后面要用:

默认安装在  C:\Program Files (x86)\Windows Kits\10

安装前该目录的图片:一共17个项目

在 x86 和 x64的目录下都会有一个cdb.exe的可执行工具

这个cdb.exe 是干啥的呢? 就是用来在vs 中 debuger QT 项目用的,

如何使用?需要在 qt 中配置。

打开QT crteator 

我们看到在 Debuggers中看到的三个关于debugger 的 都是GDB 的,我们要把cdb.exe 这个配置进去。

四。使用QTCreator 创建一个QT项目,顺便看一下再大型项目中,公司一般是如何组织项目结构的。

 4.1 假设我们公司的这个项目叫做001project,001project上一级目录叫做vsqtcode。

那么一般我们会先建立这个上一级目录,也就是建立vsqtcode 的文件夹。然后再vsqtcode文件夹下创建如下的目录: src,bin,doc,lib,include

然后打开QTCreator 创建一个项目,注意我们的项目的创建路径是在 src 的目录下。

目录结构如下。

五 一些文件的说明:

001project.pro.usr 存放了QT 的环境,也就是说,这个项目build 出来用的什么编译器,例如当前指定的是啥

001project.pro 文件里面存放了要使用的类,要引用的第三方库,要使用的C++版本等,最终会被qmake工具 build pro 生成makefile文件,最后再使用makefile build 生成exe 文件


ui_mainwindow.ui  这个文件实际上是根据开发者 在UI上的操作转化为 c++ 的代码001project.pro

moc_widget.cpp   所有的信号槽怎么关联起来的

六。使用VS + qt 项目配置

前提是你已经安装了  qt-vs-addin-msvc2017.vsix.

包含如下问题要fix:

输出,调试,库,头文件设置

控制台打开

修改引用的QT库

修改解决方案的QT版本

将vs 项目导出为 QTCreator 项目。

        一般就是在windows 上使用vs 开发完成QT项目后,要移植到 linux 或者mac ,linux 和mac 是没有vs 的,因此要将vs 项目 导出为 QTCreator 项目,以方便移植。

1.创建一个vs 项目,如果前面的qt-vs-tool 安装过,那么就可以看到 QT VS Tools

2. 配置vs 中 QT 的版本

3. 新建一个项目

4. 配置项目

配置属性--->常规--->输出目录 (生成的 exe 程序放置在 bin 下)

所谓的输出目录,应该就是生成的 可执行程序.exe 放在哪里

..\..\bin

配置属性--->调试--->工作目录 (调试的 exe 程序在bin 下)

既然上面的输出目录是(也就是 exe 程序放在了..\..\bin 下),那么我们调式的 工作目录应该和 exe程序放置的目录一样,也写成 ..\..\bin  。 当然也可以不放在一起,但是后续问题很多,放在一起可以避免很多问题。

..\..\bin

配置属性--->C/C++--->常规 --->附加包含目录    (include 第三方头文件)

我们要把需要的头文件的放在 include 文件夹下,到这时候我们还没有创建include文件夹,按照目前思路,我们应该和bin,src 在同一级下,才合理

..\..\include

配置属性--->链接器--->常规--->附加库目录  (第三方静态库 动态库放置的四方)

链接器--->常规--->附加库目录  指定,文件在链接的时候去找那个目录,

                由于我们的目录设计就是放在

配置属性--->链接器--->输入---> 附加依赖项   中 指定具体的那个lib文件。

..\..\lib

配置属性--->链接器--->系统--->子系统

七,将在vs 上的QT 项目 转换成 能在QT 上单独使用的QT 项目

然后用 QTCreator 去打开这个pro文件

八。一些问题:VS打开Qt的ui界面几秒后闪退

VS打开Qt的ui界面几秒后闪退(ui无法打开文件)的解决办法
问题:
近两天在vs中直接点解ui界面,自动调用Qt Designer打开界面几秒后Designer界面闪退,回到vs界面,并有“——.ui无法打开文件”的错误提示。
这个问题应该是Windows或Qt哪些东西更新造成的,用Qt的几个同学都有反应这个问题。

解决方法:
注:软件版本:VS2019+ Qt5

方法一(评论区网友提供,操作比较简单,可以优先一试):
选择“扩展->QT VS Tools->Options”,对话框中左侧选择“Qt->General”,右侧选择“Qt Designer->Run in detached window”选项值设为true 即可解决。

九。如何将别人的代码使用自己的vs2019 打开的问题

清理解决方案

重新生成解决方案

上述我在自己的vs2019 上看不到,原因未知

相关文章:

FFmpeg 4.3 音视频-多路H265监控录放C++开发三 :安装QT5.14.2, 并将QT集成 到 VS2019中。

一,安装QT, 重点:在安装QT的时候要安装msvc201x版本的组件, 二 , 安装 qt-vs-tools Index of /development_releases/vsaddin/2.8.1 三,需要安装过 windows10 SDK,一般我们在安装vs2019的时候就…...

Linux 累加计算递归算法汇编实现

1...n可以使用公式计算,同时也是递归实现的很好例子,其c实现代码为 int f(int i) {i && (if(i-1));return i; } 其终止条件为0,此时i && (if(i-1))表达式不成立,不计算if(i-1)直接返回0&…...

明日周刊-第23期

十月已过半,气温也转凉了,大家注意保温哦。冬吃萝卜,夏吃姜,在快要到来的冬季大家可以选择多吃点萝卜。 配图是本周末去商场抓娃娃的时候拍的照片,现在抓娃娃单次普遍都控制在1块钱以下了,还记得多年前的抓…...

kubernets(二)

集群操作 查看集群信息 kubectl get查看各组件信息 格式:kubectl get 资源类型 【资源名】 【选项】 events #查看集群中的所有日志信息 -o wide # 显示资源详细信息,包括节点、地址... -o yaml/json #将当前资源对象输出至 yaml/json 格式文…...

《YOLO 标注工具全览》

《YOLO 标注工具全览》 一、YOLO 标注工具的重要性二、常见的 YOLO 标注工具介绍(一)LabelImg(二)Yolo_Label(三)在线标注工具 Make Sense(四)Ybat - YOLO BBox Annotation Tool&…...

财富思维学习

四大象限: 人类财富创造史经历的五个阶段: 1、黄色(土地)财务阶段:拥有土地和劳动力是财富的要求 2、蓝色(海)财富阶段:谁拥有贸易的通道谁就拥有财富(如港口&#xff…...

python爬虫加解密分析及实现

第一种: 1、找到加密的接口地址,通过加密的接口地址全局搜索 2、通过打断点的方式,操作页面,跑到断点处时,即可找到加密串,如图二; 3、找到用的是哪种加密方式,如: cr…...

用Java做智能客服,基于私有知识库

构建Java智能客服系统的整体思路 使用Java构建智能客服系统的整体思路是: 首先将客服QA文档以Word形式导入到系统中,通过向量化处理存入知识库。 当用户提出问题时,系统会根据问题内容从知识库中检索相关的上下文信息,并结合大…...

软考(网工)——网络安全

文章目录 🕐网络安全基础1️⃣网络安全威胁类型2️⃣网络攻击类型 🕑现代加密技术1️⃣私钥密码/对称密码体制2️⃣对称加密算法总结3️⃣公钥密码/非对称密码4️⃣混合密码5️⃣国产加密算法 - SM 系列6️⃣认证7️⃣基于公钥的认证 🕒Hash …...

如何给手机换ip地址

在当今数字化时代,IP地址作为设备在网络中的唯一标识,扮演着举足轻重的角色。然而,有时出于隐私保护、网络访问需求或其他特定原因,我们可能需要更改手机的IP地址。本文将详细介绍几种实用的方法,帮助您轻松实现手机IP…...

kafkamanager安装

一.下载kafkamanager2.0 https://download.csdn.net/download/cyw8998/89892482 二.修改配置文件 解压缩 unzip kafka-manager-2.0.0.0.zip vim application.conf /opt/module/kafka-manager-2.0.0.0/conf/application.conf 添加以下内容:(连接zooke…...

笔记本电脑U口保护分享

在前司时候,经常遇到各种硬件类的问题,但是之前没时间分享,现在来给大家分享一下,常见的问题及如何保护。 1.接口接触不良。这个一般发生于使用时间长了,可以用细砂纸,轻轻摩擦后再进行尝试。 2.接口失灵…...

OpenCV高级图形用户界面(20)更改窗口的标题函数setWindowTitle()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在OpenCV中,cv::setWindowTitle函数用于更改窗口的标题。这使得您可以在程序运行时动态地更改窗口的标题文本。 函数原型 void cv::…...

结构体指针的初始化以及结构体变量作为函数实参传递时易混淆的知识点

结构体指针初始化以及结构体变量作为函数实参传递时易混淆的知识点 首先要明确,结构体类型是用户自己定义的一种数据类型,其本质上与int, char等标准数据类型是一致的 **1.**因此,在进行结构体指针的初始化时,应该这样写&#x…...

Github 2024-10-20 php开源项目日报Top10

根据Github Trendings的统计,今日(2024-10-20统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量PHP项目10Blade项目1Laravel:表达力和优雅的 Web 应用程序框架 创建周期:4631 天开发语言:PHP, BladeStar数量:75969 个Fork数量:24281 次…...

C++ 算法学习——1.3 双向深度优先搜索

双向深度优先搜索(Bidirectional Depth-First Search)是一种图搜索算法,旨在通过从起始节点和目标节点同时开始,沿着深度优先搜索的路径向前探索,以减少搜索空间并提高搜索效率。 1. 基本原理 双向深度优先搜索同时从…...

Artistic Oil Paint 艺术油画着色器插件

只需轻轻一点,即可将您的视频游戏转化为艺术品!(也许更多…)。 ✓ 整个商店中最可配置的选项。 ✓ 六种先进算法。 ✓ 细节增强算法。 ✓ 完整的源代码(脚本和着色器)。 ✓ 包含在“艺术包”中。 &#x1f…...

记一次left join联表查询的索引失效场景

结论:关联表的列的字符集不一致导致的 场景:user_t(用户表)、org_t(机构表),user_t的org_id和org_t的id是一对一关系 1.explain发现org_t表未走索引,但是org_t的id字段默认存在主键…...

从零到一:前端开发者学习 Cocos Creator 的全攻略

大家好,我是小蜗牛。 作为一名前端开发者,掌握 Cocos Creator 是一个非常有趣且充满潜力的技能。Cocos Creator 是一款免费开源的游戏开发引擎,它的工作流和前端开发非常相似,因此前端开发者可以较快上手,并通过开发小…...

JavaWeb 19 AJAX

目录 一、什么是AJAX 同步交互和异步交互 同步交互 异步交互 Ajax工作原理 Ajax实现方式 原生JavaScript方式进行ajax(了解): "我就是希望你好,就像很多人希望我好一样,特别简单,特别真挚。也不为了什么,就是希望…...

云计算——弹性云计算器(ECS)

弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 ​…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...