【项目】[Qt] QT 发布程序;生成exe 、添加依赖dll 库、(可选)打包成单exe (含qt IDE和vs版)

本文档详细介绍了如何在Qt IDE和Visual Studio环境下,为软件添加自定义图标并编译为release版本。针对Qt,使用windeployqt工具打包依赖库;对于Visual Studio,通过windeployqt和额外工具完成相同任务。同时,还提供了将多个文件打包成单一exe的方案,使用Enigma Virtual Box进行文件虚拟化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

若需要添加自定义图标

软件发布后会使用默认应用程序图标(即软件出错时经常看到的那个图标)
若需要美观自定义图标,参考此文档

https://blog.youkuaiyun.com/gongfpp/article/details/120641056

qt IDE版

编译为release版本

Debug版本方便调试,而release版本则是为发布面向用户的软件的版本,release版本省略了大量的debug操作,编译器自动识别并在编译时自动优化程序,提高软件运行效率,因此我们需要用release版本编译
在这里插入图片描述

使用qt添加依赖库

我们找到编译后的exe所在目录
在这里插入图片描述
这里面包括了程序的.h .cpp和编译生成的.o等中间文件,我们运行时只需要exe文件
而此时双击exe文件,会发现缺少依赖dll等出错信息,这是因为我们使用qt creator的运行时,qt自动调用了所需的各种dll文件等,而我们自己手动打开exe,则没有qt的帮助。
为防止其他文件的干扰,我们新建一个文件夹,复制该exe文件进去,开始打包依赖库。
在这里插入图片描述
按下windows徽标键 ,搜索你所用的编译器的版本 (我这里用的是minGw 64bit)打开
在这里插入图片描述

窗口中输入cd D:\code\Qt\build-Homeworktor-Desktop_Qt_5_12_3_MinGW_64_bit-Release\release\Homeworktor
(路径换成你自己刚才新建的exe目录,若目录不处于C盘则需要先切换到相应盘符)
在这里插入图片描述
此时如上图 输入windeployqt Homeworktor.exe (exe换成你自己的文件名)
打包完如下图在这里插入图片描述
在这里插入图片描述
该目录则包括了所需的所有文件和依赖项 此时已经可以双击使用exe
注:若仍出现如找不到libgcc_s_dw2-1.dll, 尝试重新安装该程序以解决问题.等错误,可能是构建套件与编译时的编译器版本不符合,需要选择相同版本的编译器重新执行windeployqt,即下图两者相同
构建套件
在这里插入图片描述

Visual Studio版

编译并生成exe

vs里点击在这里插入图片描述
则会生成exe

用tool程序添加依赖库

首先启动下图程序在这里插入图片描述
接下来需要两个目录
1.对应32|64位的windeployqt.exe程序目录,一般在类似下图的qt安装目录。
在这里插入图片描述
2.欲编译的程序release版目录。一般在vs项目目录中的release目录中,找到exe文件在这里插入图片描述
如果没有,则先在vs中编译运行一次。

然后我们同样新建一个文件夹,把exe丢进去,这时我们可以看到,exe运行不了(因为没有依赖文件)。
在这里插入图片描述

我们使用tool工具,cd进入新建的文件夹(这里文件夹名为exe),使用
…\目录\windeployqt.exe -release 目标exe名
如下图所示
在这里插入图片描述
注意注意 :这地方–release 不是单横线 图中打错了 但能运行 不知道有没有问题
完成后目录中会添加进项目所需的各种文件,此时即可运行
在这里插入图片描述

(选做)打包成一个exe文件

这时文件夹内有一堆文件,如果我们的项目并不大,仅是一个小工具,则一个大文件夹丢给用户使用则显得不方便,我们可以打包成一个exe文件。
首先下载 Enigma Virtual Box

https://enigmaprotector.com/en/downloads.html

安装后打开
在这里插入图片描述
在这里插入图片描述
此时在3处选择Add Folder Recursive 选择主exe所在的有一堆dll的目录(大部分情况下即1处的目录) 然后OK
在这里插入图片描述
点OK,则如上图,此时可以Files Options 中压缩文件
在这里插入图片描述
勾选Compress Files 则压缩文件 ,使exe体积更小(不知道有没有性能损失)
然后Process 等待结束 run则立即打开生成的单exe close则关闭,此时已在2处所选目录生成新的单exe文件,移动它到其他地方 ,双击试试,已经可以单独运行了。

### 将Qt混合编程项目打包成.exe文件 对于将使用Qt进行混合编程的项目打包成可执行(.exe)文件的过程,可以遵循一系列特定的操作来确保应用程序能够独立运行于目标机器上。 #### 准备工作环境 为了成功创建一个独立的应用程序安装包,在开发环境中需先确认已正确配置好Qt Creator或其他IDE,并且项目的编译链接均无误。此外,还需保证所有依赖本匹配并能被正确识别[^2]。 #### 使用`windeployqt`工具自动部署资源 当构建完成后得到`.exe`文件之后,可以通过命令行调用`windeployqt`工具来自动生成所需的动态链接和其他支持文件至同一目录下: ```bash windeployqt path\to\application.exe ``` 此操作会扫描指定路径下的可执行文件及其导入表中的DLL引用关系,进而复制必要的Qt模块及相关组件到应用根目录内[^1]。 #### 处理额外依赖项 如果项目还涉及到其他第三方(如MATLAB引擎API),则除了上述步骤外还需要手动添加这些外部依赖项。例如,针对MATLAB与Qt集成的情况,可能要将MATLAB Runtime的相关DLL也一并放置在最终发布的文件夹里;同样地,任何自定义加载或间接使用的都应如此处理[^3]。 #### 测试与验证 最后一步是在另一台未安装过本工程所需SDK/框架的工作站上来测试生成好的EXE能否正常启动及功能表现是否稳定。若有缺失提示,则继续补充相应文件直至完全兼容为止。 通过以上流程即完成了基于Qt技术栈的跨平台桌面软件向Windows平台上的移植封装作业。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值