当前位置: 首页 > 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(了解): "我就是希望你好,就像很多人希望我好一样,特别简单,特别真挚。也不为了什么,就是希望…...

centos 7 部署awstats 网站访问检测

一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...

Selenium常用函数介绍

目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...

【安全篇】金刚不坏之身:整合 Spring Security + JWT 实现无状态认证与授权

摘要 本文是《Spring Boot 实战派》系列的第四篇。我们将直面所有 Web 应用都无法回避的核心问题:安全。文章将详细阐述认证(Authentication) 与授权(Authorization的核心概念,对比传统 Session-Cookie 与现代 JWT(JS…...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...

聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇

根据 QYResearch 发布的市场报告显示,全球市场规模预计在 2031 年达到 9848 万美元,2025 - 2031 年期间年复合增长率(CAGR)为 3.7%。在竞争格局上,市场集中度较高,2024 年全球前十强厂商占据约 74.0% 的市场…...

【QT控件】显示类控件

目录 一、Label 二、LCD Number 三、ProgressBar 四、Calendar Widget QT专栏:QT_uyeonashi的博客-CSDN博客 一、Label QLabel 可以用来显示文本和图片. 核心属性如下 代码示例: 显示不同格式的文本 1) 在界面上创建三个 QLabel 尺寸放大一些. objectName 分别…...