Windows QT打包发布release应用

这篇博客介绍了如何将Windows QT应用打包,包括从Release模式编译、添加图标、打包Qt依赖库,以及利用InnoSetupCompiler创建安装程序和桌面快捷方式的过程。

前言:

        Windows QT开发者在开发项目过程中,需要将编译好的应用打包给客户,那么我们需要做安装应用程序、生成桌面快捷方式等等。

一、打包整理Release

1、将调试修改为Release模式

按照上图改完模式之后,按Ctrl + R运行程序,生成build_xxxxxx-Release文件夹,打开该文件夹下的Release文件夹,可以看到exe文件。这里我补充说明一下,工程文件默认生成的exe文件是没有图标的。这里我提供简单的操作方法,首先在网上找相应的.ico图标文件,如果是png或者jpeg等格式的,网上在线转ico的一堆,不难找。将.ico放到你的工程文件夹那里,然后建一个txt文本,输入:

IDI_ICON1 ICON DISCARDABLE "xxx.ico"

保存退出改后缀为.rc,然后在你的QT工程文件(.pro)中添加以下一行:

RC_FILE+= xxx.rc

2、打包工程依赖库

        工程依赖库的打包包括:Qt依赖库和第三方软件库。我们打包给客户的时候主要是打包Qt依赖库,第三方依赖库需要自行添加。

打包Qt依赖库:

        用windepolyqt.exe提取应用程序所依赖的Qt库,这个exe在Qt Creator安装目录当中,需要我们自己去找。比如,我下载的是Qt5.12.2 64位版本,那么我在该目录下的5.12.2\mingw73_64\bin\中找到,不知道在哪的,直接文件搜索吧。

        找到之后,cmd中输入windepolyqt.exe的绝对路径,然后space空格隔开再打输入你的release文件夹中的exe应用程序的绝对路径。

(for example)

执行完之后,就会在release文件夹中添加了Qt依赖库:

这时,如果你的程序不是很大,将这个打包压缩发给客户即可。如果想像下载游戏那样,有个安装过程并且可以在桌面上生成快捷方式,也能卸载应用,这里我推荐一下Inno Setup Compiler软件。软件网址:https://jrsoftware.org/isdl.php#stable

 安装过程我就不详细说明了。

3、Inno Setup Compiler软件的使用

步骤:

a.打开该软件,通常会有以下提示框的

 

 

 

 

 

 

 

 

 

b.以上步骤完成之后,他会弹出以下提示,问你是否要将这个安装脚本保存下来,不需要就“否”,需要就“是”

 等待脚本编译完成即可~~~

### Qt Release 打包的作用和目的 #### 作用 Qt Release打包的主要目的是创建一个可以在目标操作系统上独立运行的应用程序。通过Release模式编译,可以优化代码性能并移除调试信息,使得最终发布应用程序体积更小、运行速度更快。 当使用`qmake`配置项目时,在Release模式下构建会启用一系列针对发布版的优化选项[^1]。这不仅提高了应用效率,还增强了用户体验。对于Linux平台上的Qt程序来说,完成编译之后还需要进一步处理才能确保其能在其他机器上正常工作。例如,利用`linuxdeployqt`工具来收集必要的库文件和其他依赖项,并将其集成到可分发格式中,如AppImage或DEB安装包[^3]。 另外,在某些情况下可能需要将特定资源嵌入至二进制文件内部以便于部署。此时可以通过定义`.rcc`类型的资源集合并通过调用`QResource::registerResource()`函数实现这一点[^4]。 #### 目的 - **提高性能**:相比Debug版本而言,经过高度优化后的Release版本能够提供更好的响应时间和更低的内存占用率。 - **减少大小**:去除不必要的符号表及其他开发辅助数据有助于减小程序的整体尺寸。 - **便于分发**:准备好的发行包可以直接被用户下载并安装而无需额外设置环境变量或是手动复制共享对象等操作;同时支持跨平台移植性。 - **保护源码**:由于去除了所有用于追踪错误的信息以及简化了反汇编难度,因此也间接起到了一定的版权保护效果。 ```bash # 使用 qmake 和 make 工具链生成 Release 版本 $ qmake CONFIG+=release $ make ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值