(10)Qt---项目打包

news2024/11/15 20:06:26

目录

项目打包

1. 设置应用图标**

2. Debug与Release模式***

3. 动态链接库**

4. 程序打包*

5. 新版本Qt的安装与使用*


项目打包

一款正常的软件产品应该在任何的计算机中运行,不需要单独安装Qt的开发环境,因此需要把之前的项目打包成一个安装包。

1. 设置应用图标**

设置应用程序图标的操作步骤如下所示。

1. 下载一个图标图片,格式要求png,分辨率建议256*256

2. 把png格式的图片转换为ico格式的图标文件。

PNG转ICO, 在线转换器 - 转换视频, 音乐, 图像, PDF - Office-Converter.com

Convertio — 文件转换器

3. 把ico文件放置到项目的工作目录中。

4. 在Qt Creator中选中项目名称,鼠标右键,点击添加新文件。

5. 在弹出的窗口中,按照下图所示进行操作。

6. 在弹出的窗口中,给文件命名为 .rc格式(一定要写格式!!!)后,点击“下一步”。

7. 在项目管理界面点击“完成”。可以看到项目中多了一个.rc文件。

8. 双击进入.rc文件的编辑状态,增加下面一行配置代码:

IDI_ICON1 ICON DISCARDABLE "XXX.ico"

XXX.ico是你的exe程序图标文件名。

9. 进入.pro项目配置文件,增加下面的配置项:

RC_FILE += XXX.rc

XXX.rc是刚刚新建的rc文件名。

10. 重新编译并运行项目,观察图标设置情况。

2. Debug与Release模式***

Qt项目构建有两种模式:Debug模式与Release模式。

  • Debug模式

是默认的构架模式,此模式适合开发者使用。因为生成的exe文件中包含了很多调试信息,运行速度比较慢,体积比较大。

  • Release模式

此模式适合发布给用户使用,通常不包含调试信息,但是生成的可执行文件体积小,并且编译器会做专门的优化,运行速度比Debug模式快。

无论是Debug模式还是Release模式,直接从构建目录中双击运行exe文件通常都不会正常运行,会弹出一些QMessageBox。

3. 动态链接库**

之所以能在Qt Creator中运行项目代码,实际上是因为Qt的开发环境中包含了Qt的源代码文件,开发者的编写程序,通过API调用了这些源代码,从而保证各种功能的正常执行。

并不是所有的计算机都会安装Qt开发环境,因此把Qt源代码封装为.dll动态动态链接库文件,跟随exe文件一并打包即可使exe文件正常文件。

需要注意的是,只有Release模式下编译生成的exe文件才支持dll格式。

只需要把exe文件与dll文件放置到同一个目录中即可,在这种发布的结构下,这个目录被称为软件的根目录,充当了开发过程的工作目录与构建目录的角色,这代表了根目录中要包含图片文件、qrc文件、.db文件等。

补充dll的方法有两种:

  • 使用老师基于当前Qt版本提取的常用的dll文件

下载链接:百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1C6jFCTOXlyX3xbp4HLqxfA

提取码:hqyj 

--来自百度网盘超级会员V6的分享

这种方法操作简单,但是体积比较大,因为有一些dll项目用不到。

  • 使用Qt自带的windeployqt工具提取exe所需的dll文件

操作步骤如下:

1. 点击Win图标,进入所有应用,找到Qt下面的

2. 在黑窗口(命令行)中定位到exe文件所在的位置。

dir                    显示当前目录的内容
cd 文件夹名称            进入当前目录的子文件夹
cd..                  进入当前目录的上一级
盘符                    切换磁盘

3. 定位到exe所在目录后,执行下面的命令。

windeployqt 程序名称.exe

4. 再次尝试运行exe文件还是无法运行,此时需要手动“缺啥补啥”。注意计算机同文件名的dll动态链接库文件大小可能不同,请擦亮眼睛!

4. 程序打包*

程序打包工具不是Qt的内容,市面上有很多类似的软件。

本节仅供参考,以公司项目实际要求为准。

本次课程使用的打包工具下载链接:百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1tVj7jyk5Spa5op5NV3ezMg

提取码:hqyj 

--来自百度网盘超级会员V6的分享

 

 

打包教程也可以参考:

QT 程序使用iSetup打包成setup安装包_isetup的使用_小五呀~的博客-CSDN博客    之前做项目都是加载动态库,然后把包含库的文件拷贝到设备直接运行。但是,总的来说,还是觉得setup安装包看起来正经那么一丢丢~    好吧,首先需要下载一个isetup,网上很好找的。    然后,需要将自己的执行文件拷贝到一个单独的文件夹,用命令windeployqt  xxx.exe 来加载所需要的动态库。但是我发现,每次使用这个指令加载库,运行都会提醒缺少库文件,并且缺的一定...https://blog.csdn.net/m0_37722666/article/details/86590310

5. 新版本Qt的安装与使用*

Qt Creator5.14下载链接:百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1BKeWC-yi1BzeVIvmRUyIHQ

提取码:hqyj 

--来自百度网盘超级会员V6的分享

安装教程:

Qt 5.14版本安装教程_哔哩哔哩_bilibiliQt 5.14版本安装教程, 视频播放量 858、弹幕量 0、点赞数 26、投硬币枚数 32、收藏人数 19、转发人数 8, 视频作者 JasonWu16, 作者简介 前IT码农,现码农生产者,项目管理小硕一枚,如果您觉得我的视频有价值,求三连关注,我会不定期分享一些各领域的快速教程~,相关视频:我用QT写了一个网易云,安装Qt 5.15 LTS(Install Qt 5.15 LTS),如何安装QT,QT_5.14_安装教程详细,Qt 5.14.2 下载、安装、使用教程,Qt+vs2019开发环境搭建,Qt 6.2.4的在线安装,【保姆级别教程】QT安装,适合新手,适合小白的QT离线版安装教程,Qt的下载与安装,QT6.5长期支持版的下载与安装https://www.bilibili.com/video/BV15e411V7U6/?vd_source=694d0e005c9873a1a6817be4f7098a8e

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

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

相关文章

Ctfshow [单身杯]

文章目录 web签到easyPHPescapeshellcmdescapeshellargsedawk 姻缘测试 web签到 <?php # -*- coding: utf-8 -*- # Author: h1xa # Date: 2022-03-19 12:10:55 # Last Modified by: h1xa # Last Modified time: 2022-03-19 13:27:18 # email: h1xactfer.com # link: h…

Java EE 进阶---多线程(一)

目录 一、常见的锁策略 乐观锁 vs 悲观锁 重量级锁 vs 轻量级锁 读写锁&#xff06;普通互斥锁 自旋锁&#xff06;挂起等待锁 可重入锁&#xff06;不可重入锁 公平锁&#xff06;非公平锁 synchronized实现了哪些锁策略&#xff1f; 二、Compare And Swap 比较并交换…

File类、IO数据流介绍

文章目录 &#x1f412;个人主页&#x1f3c5;JavaSE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380;File类的设计&#x1fa85;数据流的流向 &#x1f3c5;对数据操作的类&#x1f9f8;按单位划分&#x1f9f8;按封装类型划分 &#x1f380;整理File常用方法 &#x1f41…

解析HTTPS的加密

文章目录 简介加密原理对称加密常用的对称加密算法&#xff1a;简单解析DES 非对称加密常用的非对称加密算法&#xff1a;简单解析RSA算法公钥和私钥的制作&#xff1a;加密和解密过程&#xff1a; 加密过程数字证书摘要算法解析一下MD5算法 简介 HTTPS 使用了 SSL (Secure So…

2023最新软件测试八股文,能不能拿心仪Offer就看你背得怎样了

很多同学会问测试面试八股文有必要背吗&#xff1f; 我的回答是&#xff1a;很有必要。你可以讨厌这种模式&#xff0c;但你一定要去背&#xff0c;因为不背你就进不了大厂。 个人感觉目前各个大中厂面试不好的地方是&#xff0c;都在朝着背面试八股文的方向发展&#xff08;曾…

Android Studio实现文件管理器

项目目录 一、项目概述二、开发环境三、详细设计1、布局设计2、程序运行时申请权限3、查看文件4、删除文件5、搜索文件6、新建文件 四、运行演示 一、项目概述 本次带来的文件管理器&#xff0c;能够对SD卡的目录进行管理。主要功能包括新建文件&#xff08;夹&#xff09;、查…

【shell】shell编程之函数

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、概述二、函数的查看和删除1.查看 declare2.删除 declare 三、函数的返回值1.return 返回值2.echo 返回值 四、函数的参数传入与变量范围五、函数的应用1.阶乘2.…

分库分表如何处理主键ID

当关系型数据库数据量过大时&#xff0c;通常会采用分库分表降低数据库查表压力。分库分表有多种&#xff0c;有分一个库多张分表额&#xff0c;有分多个库多张表的。一般分库分表使用ShardingSphere分表&#xff0c;建分片键等。但是分库分表之后&#xff0c;主键ID如何处理呢…

Goby 漏洞更新 |Telesquare TLR-2005Ksh 路由器 getUsernamePassword 信息泄露漏洞

漏洞名称&#xff1a;Telesquare TLR-2005Ksh 路由器 getUsernamePassword 信息泄露漏洞 English Name&#xff1a;Telesquare TLR-2005Ksh getUsernamePassword Information Disclosure CVSS core: 9.0 影响资产数&#xff1a;25826 漏洞描述&#xff1a; Telesquare Tlr…

MATLAB--控制语句--数组操作--符号运算--绘图--文件和数据的处理

控制语句 MATLAB 常用的控制语句有for, while, if, switch 等。 一、循环语句 通过循环控制语句&#xff0c;可以重复执行代码块。循环有两类&#xff1a;for 循环和while 循环。 for 循环是一组语句重复固定的&#xff0c;指定的次数&#xff0c;while 循环是满足条件执行。…

【鸿蒙应用ArkTS开发系列】- http网络库使用讲解和封装

目录 前言http网络库组件介绍http网络库封装创建Har Module创建RequestOption 配置类创建HttpCore核心类创建HttpManager核心类对外组件导出添加网络权限 http网络库依赖和使用依赖http网络库&#xff08;httpLibrary&#xff09;使用http网络库&#xff08;httpLibrary&#x…

“虐人的”双亲委派机制

这些问题&#xff0c;看看你能回答上来多少个&#xff1a; 1、什么是双亲委派&#xff1f; 2、为什么需要双亲委派&#xff0c;不委派有什么问题&#xff1f; 3、”父加载器”和”子加载器”之间的关系是继承的吗&#xff1f; 4、双亲委派是怎么实现的&#xff1f; 5、我能不能…

国外空间服务器是否有利于SEO优化?

​  购买国外空间服务器&#xff0c;这是许多人在做网站时会考虑到的选择。在国内&#xff0c;由于网络环境和限制&#xff0c;所以选择国外的空间似乎是一个不错的选择。但是&#xff0c;国外空间服务器是否对SEO优化有影响?这是一个值得讨论的问题。 1.服务器响应速度 如果…

跟着LearnOpenGL学习4--着色器

文章目录 一、前言二、GLSL2.1、着色器结构2.2、数据类型2.2.1、向量 2.3、输入与输出2.4、uniform2.5、更多属性 三、着色器类 一、前言 在之前绘制三角形的博文中&#xff0c;我们已经接触到了着色器&#xff0c;但是肯定有许多疑问&#xff0c;本文来详细了解一下着色器&am…

【17】SCI易中期刊推荐——计算机信息系统电子与电气(中科院4区)

💖💖>>>加勒比海带,QQ2479200884<<<💖💖 🍀🍀>>>【YOLO魔法搭配&论文投稿咨询】<<<🍀🍀 ✨✨>>>学习交流 | 温澜潮生 | 合作共赢 | 共同进步<<<✨✨ 📚📚>>>人工智能 | 计算机视觉…

Flink从入门到精通之-09状态编程

Flink从入门到精通之-09状态编程 Flink 处理机制的核心&#xff0c;就是“有状态的流式计算”。我们在之前的章节中也已经多次提到了“状态”&#xff08;state&#xff09;&#xff0c;不论是简单聚合、窗口聚合&#xff0c;还是处理函数的应用&#xff0c;都会有状态的身影出…

Spring Cloud第二季--Spring Cloud Bus

文章目录 Spring Clud Bus什么是总线基本原理 牛刀小试 Spring Clud Bus 在Spring Cloud学习–配置中心&#xff08;Config&#xff09;中实现了集中管理微服务配置、不同环境不同配置、运行期间也可动态调整、配置修改后可以自动更新的需求&#xff0c;但同时也有一个弊端&am…

服务器电源线:同为科技(TOWE)机房工程专用电源延长线

工程机房电源延长线 众所周知&#xff0c;世界上不同国家或地区所使用的插头、插座标准有所不同&#xff0c;在庞大复杂的数据中心计算集群内&#xff0c;需要电源供电才能正常工作&#xff0c;因此&#xff0c;服务器电源线是连接电源分配器和服务器的基本配件。在机房服务器…

如何通过优化服务器提升网站的SEO排名

在当今数字化时代&#xff0c;拥有一个高效、稳定的服务器对于网站的成功至关重要。然而&#xff0c;服务器不仅仅是为了提供网站的基本运行&#xff0c;它还可以对搜索引擎优化(SEO)起到关键作用&#xff0c;于是就有了多IP站群服务器这样对SEO非常友好的服务器。通过优化服务…

Goby 漏洞更新 |Telesquare TLR-2005Ksh 路由器 setSyncTimeHost 命令执行漏洞

漏洞名称&#xff1a;Telesquare TLR-2005Ksh 路由器 setSyncTimeHost 命令执行漏洞 English Name&#xff1a;Telesquare TLR-2005Ksh setSyncTimeHost RCE CVSS core: 9.8 影响资产数&#xff1a;25826 漏洞描述&#xff1a; Telesquare Tlr-2005Ksh是韩国Telesquare公司…