Qt关于第三方库介绍

news2025/1/18 20:05:39

文章目录

  • 前言
  • 一、获取第三方库
  • 二、Makefile是什么?
  • 三、将第三方库添加到 Qt 项目中
  • 四、mingw和msvc的区别
  • 五、安装msvc
  • 六、安装mingw
  • 七、如何使用不同的编译器


前言

本专栏的系统为:windows11
qt版本为:qt6.4.2


提示:以下是本篇文章正文内容,下面案例可供参考

一、获取第三方库

获取第三方库的方式可以有很多种,最常见的是从互联网上下载源代码或二进制文件。通常,第三方库的开发者会在官网提供下载链接,也可以从 GitHub、SourceForge 等开源仓库下载。
以后具体使用的库会发链接和配置方法,大家就不用那么麻烦了。

二、Makefile是什么?

Makefile 是一种描述程序编译过程的文件,它可以自动化程序编译操作,提高编译效率和可维护性。在本文中,我们将介绍 Makefile 的基础知识和使用方法。

Makefile 是一个包含编译规则和指令的文本文件,用于指导编译器如何编译程序。它通常包含以下内容:
定义编译过程中所需的源代码文件和头文件。
定义编译器和链接器的选项、参数和路径。
定义编译过程中生成的中间文件和目标文件。
定义编译过程中需要执行的指令和命令。

qt通常是CMake和qmake,但他们其实都是一样的,都是makefile。
在这里,我们都是使用qmake。

三、将第三方库添加到 Qt 项目中

下载好源码后,我们只需要讲**.pro文件放入qt creator中编译就可以了
debug/release中,我们就可以看见.dll+.a/.dll+.lib**
在mingw编译时就是前面的组合,msvc就是后面的组合。
在后期我会教大家如何添加进我们自己的项目里面。

四、mingw和msvc的区别

MinGW 和 MSVC 都是 Windows 系统下常用的 C++ 编译器,它们的主要区别在于编译原理、编译效率、二进制兼容性等方面。在本文中,我们将介绍 MinGW 和 MSVC 的主要区别。

一、编译原理的不同

MinGW 是 Windows 平台下的 GCC 编译器,包括 GCC、binutils 和 Windows SDK。它使用 GNU Compiler Collection(也称为GCC)的开源编译工具集,它可以编译支持 C、C++、Objective-C 和 Fortran 等语言的程序。MinGW 使用 GNU ld 作为链接器,可产生与 GNU 系统相兼容的二进制文件。MinGW 同时也提供了 MSYS 工具集,它允许在 Windows 系统下使用类 Unix 的 shell 和命令。

MSVC 是 Microsoft Visual C++ 的缩写,是 Windows 平台下的 Microsoft 编译器。它是一个商业软件,只支持 Windows 操作系统。与 MinGW 不同,MSVC 使用 Visual Studio 集成开发环境,包括编辑器、调试器、可视化设计器等工具。它使用不同于 GCC 的编译器和链接器(cl.exe 和 link.exe)生成独立的可执行文件,可以编译和链接 C、C++和 C# 等程序。

二、编译效率的不同

由于编译器的不同,MinGW 和 MSVC 在编译效率上有显著的区别。MinGW 编译器采用基于 GCC 的编译器,它的编译速度通常比 MSVC 要慢。而 MSVC 的编译速度相对较快,尤其对于大型项目的编译来说,会更加高效。

三、二进制兼容性的不同

MinGW 产生的二进制文件与经过测试的 GNU 犨续兼容,而与 MSVC 产生的二进制文件不兼容。因此,在将 MinGW 编译的程序与其他库或插件链接时,需要确保它们使用与 MinGW 一致的标准库和 ABI。但是,由于 MSVC 使用了自己的运行时库和ABI,所以 MSVC 编译的程序通常可以在同一版本的 Visual Studio上运行,而无需重建或使用其他运行库。

四、总结

综上所述,MinGW 和 MSVC 的主要区别在于编译原理、编译效率和二进制兼容性。MinGW基于GCC 编译器,可产生与 GNU 系统相兼容的二进制文件,编译速度较慢,需要对兼容性进行特别处理。而 MSVC 使用不同于 GCC 的编译器和链接器生成独立的可执行文件,编译速度较快,但需要额外的运行时库和其他工具。

选择 MinGW 还是 MSVC 取决于项目的具体需求,如编译速度、二进制兼容性等。如果需要跨平台兼容,MinGW 是一个不错的选择;如果是 Windows 平台下的纯 C++ 项目,则建议使用 MSVC 编译器。

大家按照自己的需求安装就好

五、安装msvc

  1. 打开Virtual Studio Installer。
  2. 点击修改。
  3. C++桌面应用和移动开发中有一个使用C++桌面开发,勾选。
  4. 在右边找到windows11 SDK/windows10 SDK
  5. 下滑找到msvc
    大家可以按照自己的意愿来选择。如果内存足够,建议安装全部在这里插入图片描述

六、安装mingw

如果你还没有qt/你想要安装其他qt版本。
安装qt时进行选择即可。
如果已经有qt。
打开qt安装路径->MaintenanceTool.exe点击一步一步安装即可

七、如何使用不同的编译器

在这里插入图片描述
创建项目进入这个界面后就可以选择了。

已经创建了项目的选择方法:
在这里插入图片描述
在这边就可以选择套件kit了,我们也可以选择构建。选择完了记得执行qmake~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/414951.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【从零开始学Skynet】实战篇《球球大作战》(五):gateway代码设计(上)

1、协议格式 在写代码之前,我们要先了解什么是协议,协议就是 “客户端向服务端发起的登录请求”,那么登录请求是什么样子的呢?这得先从TCP数据流说起,客户端发起的请求,就是一些二进制数据。 (…

OpenCV实例(六)行人检测

OpenCV实例(六)行人检测1.行人检测概述2.行人检测基础实现2.1基本流程2.2实现程序2.3参数优化3.完整行人检测程序作者:Xiou 1.行人检测概述 行人检测是目标检测的一个分支。目标检测的任务是从图像中识别出预定义类型目标,并确定…

【Python】json数据解析

目录 json文件数据解析 爬虫获取王者荣耀英雄信息json数据包并解析 爬虫获取抖音视频json数据包并解析 json文件数据解析 json字符串:通常类似python数据类型中的列表和字典的结合,也可能是单独的列表或者字典格式,通常可以通过json模块的…

亚马逊影响搜索排名的主要因素有哪些,使用测评做排名有哪些要求?

亚马逊产品的排名越高就意味着分配的流量越多而且带来更高的销量。那主要有哪些因素影响产品的排名呢? 1、产品销量 产品销量反映了该产品在同类产品中的销售情况,该数值会在产品Listing中展示,平台会每小时更新一次该排行榜。在平台算法看…

【Linux】线程控制分析:如何获取线程ID?线程如何自动回收?

Linux系统中, 线程是轻量级的进程. 我们已经介绍过了线程的相关概念, 见过了线程再Linux操作系统中的存在形式. 我们知道, 进程有自己相关控制接口, 等待、创建等 而线程作为轻量级的进程, 其实也是有控制接口的. 文章目录线程控制线程的创建与回收演示获取线程idpthread_sel…

用户管理系统-自动化测试

文章目录1. 思维导图编写 Web 自动化测试用例2. 创建测试项目3. 根据思维导图设计用户管理系统自动化测试用例3.1 准备工具类3.2 测试登录页面3.3 测试用户列表页3.4 测试添加用户页3.5 测试修改用户页3.6 未登录状态4. 自动化测试项目总结4.1 自动化测试项目实现步骤4.2 当前项…

图数据库驱动的基础设施运维实操

本文系图技术在大型、复杂基础设施之中 SRE/DevOps 的实践参考,并以 OpenStack 系统之上的图数据库增强的运维案例为例,揭示图数据库、图算法在智能运维上的应用。本文所有示例代码开源。 最近,有些尚未使用过图技术、DevOps/Infra 领域的工程…

除了Java,还可以培训学习哪些IT技术?

除了Java,还可以培训学习哪些IT技术?转行IT学Java似乎已经成为很多人的首选,原因无非是开发技术含量高、开发有前景、开发是一个互联网企业的核心岗位,最重要的是开发薪资待遇高。但其实只单纯因为薪资选择Java的话,小…

Flask数据迁移详细步骤

数据迁移详细步骤: 1. 安装好数据迁移的包 flask-sqlalchemy和flask-migrate Flask模型相关包安装 2. 在exts.py中初始化Migrate和SQLAlchemy 3. 在models中定义好模型 4. 在views.py中一定要导入models模块 from .models import * 5. 配置好数据库(sql…

MYSQL笔记01 数据库概述,SELECT语句,运算符,排序与分页,多表查询

数据库概述 为什么要使用数据库 持久化:把数据保存在可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以"固化",而持久化的实现过程大多通过各种关系数据…

详解 23 种设计模式(多图 + 代码)

创建型模式 创建型模式的作用就是创建对象,说到创建一个对象,最熟悉的就是 new 一个对象,然后 set 相关属性。但是,在很多场景下,我们需要给客户端提供更加友好的创建对象的方式,尤其是那种我们定义了类&a…

每68个孩子里,就有一个自闭症,“来自星星的孩子”,离我们很近

今年4月2日是世界上第14个“世界自闭症日”。自闭症儿童,又称“星星儿童”,形容他们像遥远的星星一样独自在夜空中闪耀。自闭症并不少见根据世卫组织的调查,世界上每160名儿童中就有一人患有自闭症。根据《中国自闭症(自闭症&…

【从零开始学Skynet】基础篇(四):网络模块常用API

游戏服务端要处理客户端请求,作为服务端引擎,网络编程也是Skynet的核心功能。1、学习网络模块 skynet.socket模块提供了网络编程的API,常用的API如下表所示:Lua API说明socket.listen(address ,port)监听一个端口,返回…

你需要知道的企业网页制作流程

企业网页制作是企业建立线上形象和宣传的重要手段之一,它不仅可以提高企业的品牌知名度,还可以扩大企业的影响力和拓展客户群。下面,我们将介绍一些企业网页制作的基本流程和技巧,并结合一个案例来详细解析。 企业网页制作的基本…

【DT】蒸脱机的结构和工作原理

DT蒸脱机的结构和工作原理什么是DTDT结构图工作过程什么是DT DT 蒸脱机(DesolventazationerToaster),根据英文名可以看出来,他的作用是脱溶、烘烤。用于蒸脱湿豆粕中的溶剂。 大豆油生产工艺有2种:压榨油的加工工艺是…

C++标准库--IO库(Primer C++ 第五版 · 阅读笔记)

C标准库--IO库(Primer C 第五版 阅读笔记)第8章 IO库8.1、IO类8.2、文件输入输出8.3、string流总结:第8章 IO库 8.1、IO类 为了支持这些不同种类的IO处理操作,在istream和ostream之外,标准库还定义了其他一些IO类型。 如下图分…

Java中的注解,自定义注解

文章目录1. 注解概述2. 注解与注释3. 注解的重要性4. 常见的Annotation作用4.1 生成文档相关的注解4.2 在编译时进行格式检查(JDK内置的三个基本注解)5. 元注解6. 自定义注解6.1 定义自定义注解6.2 使用自定义注解6.3 读取和处理自定义注解框架 注解 反射 设计模式 1. 注解概…

PC安装虚拟化平台趟坑记录

合肥先进光源永磁多极铁电机控制系统的规划 Zstack EPICS Archiver在小课题组的使用经验 神仙同学的永磁四极铁样铁已经开始加工了,过一个月左右就要回来了,电机控制部分交给留国做,调试的也差不多了。项目买过一台工控机,到时候…

STM32F407ZGT6实现OLED显示屏

1、调试工具 2、OLED简介 3、硬件电路(接线) 本文采用7脚,倘若采用4脚,资料代码啥的可以在江科大B站视频下载: 资料下载:https://pan.baidu.com/s/1SqKyKr5Fsl_9gBJi8aVxTw, 提取码:8kzh&#x…

日本首相会见奥特曼,考虑引入 ChatGPT 技术

文|小戏卖萌屋日本4月12日电,日本国第101任首相,日本自民党总裁岸田文雄4月10日于东京会见了奥特曼先生,二人就 ChatGPT 引入日本的可能性问题交换了意见并进行了深入的讨论。奥特曼先生表示,希望为日本人创造伟大的东…