Qt程序发布及打包成exe安装包

ops/2024/11/29 15:39:13/

参考:Qt之程序发布以及打包成exe安装包
目录

一、简述

Qt 项目开发完成之后,需要打包发布程序,而因为用户电脑上没有 Qt 配置环境,所以需要将 release 生成的 exe 文件和所依赖的 dll 文件复制到一个文件夹中,然后再用 Inno Setup 打包工具打包成一个 exe 安装包,就可以发布了。

二、设置应用程序图标

我们编译好生成的 exe 文件的图标是 Qt 自带的一个白色的框框,不太好看,怎么能够自己设置程序的图标呢。先创建一个 ico 格式的文件,网上有很多在线就可以把 png 或 jpg 的图片转成 ico 格式的图标文件,然后把 ico 文件放到源代码目录下,就是 .pro 文件的同一文件夹下
在这里插入图片描述
在.pro项目文件中添加(RC_ICONS是一个变量,它被用于存储一个图标文件的路径或名称):

RC_ICONS = car.ico // 这里的car.ico是我的ico文件的名字,改成你自己的ico文件名

添加完后一定要重新 qmake 一遍,然后再运行一遍你的程序,这样再看你的 debug 或者 release 文件夹下的 exe 文件就会有你设置好的图标了。
在这里插入图片描述

三、发布程序

发布程序首先要获得所依赖的 dll 文件,这里有两种方法。方法一就是去 Qt 安装目录的 bin 目录(笔者这里是F:\technology\Qt5.9.7\5.9.7\mingw53_32)中找所依赖的 dll 文件。方法二就是使用 Qt 自带的发布程序工具 windeployqt.exe,可以生成所依赖的 dll 文件。这里着重讲解第二种方法,步骤如下:

1)生成release或者debug版本的exe可执行文件(x64或x86);

2)在左下角开始菜单栏找到QT的命令交互对话框,如Qt 5.8 32-bit for Desktop (MSVC 2013),双击打开,进入命令对话框;

3)加入指令windeployqt XXX.exe即可,后面的XXX.exe可以是将生成的可执行文件直接拖入即可,会包含exe的文件路径,生成的Qt的dll也会在可执行文件目录里。

四、打包程序

Inno Setup 是一个免费的 Windows 安装程序制作软件,小巧、简便、精美是其最大特点,支持 pascal 脚本,能快速制作出标准 Windows2000 风格的安装界面,足以完成一般安装任务。
官方下载地址:http://www.jrsoftware.org/isdl.php#stable

下载后直接安装即可。

项目开发完成之后,需要打包程序发行,可以使用 Inno Setup 软件制作安装 exe。以下详细讲解如何打包应用程序:

1)打开 Inno Setup Complier,点击 【file】→【new】,新建一个脚本向导程序,然后点击【next】;
在这里插入图片描述
2)在应用程序信息中输入 “应用程序名称”、“应用程序版本”、“应用程序发布者”、“应用程序网站”,这些信息会自动在脚本中生成,然后点击下一步;
在这里插入图片描述
3)自定义打包文件的的输出地址以及输出文件夹的名称,然后点击下一步;


http://www.ppmy.cn/ops/137681.html

相关文章

C#开发合集

用C#轻松搞定m3u8视频下载与合并 嘿,程序员们!今天咱们来聊聊如何用C#写个小程序,轻松下载和合并m3u8视频文件。没错,就是那种分段的流媒体视频。准备好了吗?让我们开始吧! 准备工作 在动手之前&#xf…

Linux笔记--基于OCRmyPDF将扫描件PDF转换为可搜索的PDF

1--官方仓库 https://github.com/ocrmypdf/OCRmyPDF 2--基本步骤 # 安装ocrmypdf库 sudo apt install ocrmypdf# 安装简体中文库 sudo apt-get install tesseract-ocr-chi-sim# 转换 # -l 表示使用的语言 # --force-ocr 防止出现以下错误:ERROR - PriorOcrFoundE…

《C++ 与神经网络:自动微分在反向传播中的高效实现之道》

在深度学习蓬勃发展的今天,神经网络成为了众多领域的核心技术驱动力。而反向传播算法作为训练神经网络的关键手段,其背后的自动微分技术的高效实现尤为重要,特别是在 C 这样追求性能与内存控制极致的编程语言环境下。 神经网络通过大量的参数…

简单、跨平台、实时监控,Sampler让系统监控更轻松

在数字化时代,系统监控是确保IT基础设施稳定运行的关键。面对市场上众多复杂的监控系统,是否有一种工具能够简单、快速地部署,同时满足我们的监控需求?今天,我们就来介绍一个新兴的监控工具——Sampler。 为什么选择Sa…

spark 3.4.4 利用Spark ML中的交叉验证、管道流实现鸢尾花分类预测案例选取最优模型

前情回顾 前面的案例中,介绍了怎么基于管道流实现啊鸢尾花案例,利用逻辑斯蒂回归模型预测。详细内容步骤可以参照相应的博客内容 本案例内容 在 Spark 中使用交叉验证结合逻辑回归(Logistic Regression)以及管道流(P…

【实验13】使用预训练ResNet18进行CIFAR10分类

目录 1 数据处理 1.1 数据集介绍 1.2数据处理与划分 2 模型构建- Pytorch高层API中的Resnet18 3 模型训练 4 模型评价 5 比较“使用预训练模型”和“不使用预训练模型”的效果: 6 模型预测 7 完整代码 8 参考链接 1 数据处理 1.1 数据集介绍 数据规模&…

通信网络安全分层及关键技术解决

要实现信息化,就必须重视信息网络安全。信息网络安全绝不仅是IT行业的问题,而是一个社会问题,是一个包括多学科的系统安全工程问题,并直接关系到国家安全。因此,知名安全专家沈昌祥院士呼吁,要像重视两弹一…

R 因子

R 因子 引言 在金融领域,风险管理和投资策略的优化一直是核心议题。传统的风险度量工具,如波动率、Beta系数等,虽然在一定程度上能够帮助投资者理解市场的波动和资产的相对风险,但它们往往无法全面捕捉到市场动态的复杂性。因此…