Qt5打包——利用自带的windeployqt.exe和工具Enigma Virtual Box

本文介绍了Qt程序打包发布的方法。先选择Release版本运行,会发现缺少动态链接库,可使用windeployqt.exe添加依赖,若出现问题需检查系统变量。链接数据库时要将动态链接库放到.exe同级目录。最后利用Enigma Virtual Box将程序打包成单一exe文件。

目录

运行

添加依赖

发布成单一exe形式


运行

选择Release版本,运行一次

Release

运行后会发现多了Release版本,里面有exe,但是双击时会发现缺少一些动态链接库。

直接点击后缺少动态链接库

添加依赖

在你的Qt的安装包下面会有windeployqt.exe文件,它可以帮你添加依赖。

windeployqt.exe所在目录

在你的release文件夹下,使用cmd命令进行打包,就是你的windeployqt.exe路径+空格+你的exe,举例如下:

E:\Qt5.9.1\5.9.1\mingw53_32\bin\windeployqt.exe maze.exe
pause

如果你的软件还不是最终版本,可以把命令写成.bat文件,双击运行即可,省得麻烦。

命令

运行命令或双击你的.bat文件后,会发现添加了一些依赖,创建了一些文件等

添加部分依赖成功

如果你出现上图,没有出错,跳过下一段

为什么要写pause呢?因为有可能失败,如:This application failed to start because it couldn't  find or load the Qt platform plugin "windows",这是因为一些含Qt的软件等将bin作为了系统变量,比如Anaconda,我在我的Path变量中找到了它,先删除一下,打包后在加上。

Path变量

你会看到release里面有一些依赖,比如有关图标的,数据库的驱动等。

添加依赖成功后

如果你链接了数据库,比如mysql,你需要将动态链接库也放到你的.exe的同级目录下,libmysql.dll位置如下 ,在Qt安装目录的bin文件夹下面

libmysql.dll位置

 

添加libmysql后

至此,你直接双击.exe文件和你在Qt运行时应该一模一样了。

发布成单一exe形式

利用下面的软件,免费的,可以从官网下载

Enigma Virtual Box

打开软件,选择要打包的exe文件及打包后的文件目录

浏览exe

点击File Options选项,在点击Compress Files复选框,这样打包后的exe比较小

选择压缩

 点击Add,添加刚才依赖后生成的所有文件(包括.dll、.db文件等)以及生成的文件夹及里面的内容(文件夹自己建,然后在新建的文件夹里面添加对应文件)

添加文件及文件夹

点击Process进行压缩打包,最后显示成功即可。

标题

你可以点击Run或者在你选的文件夹里面双击你的单一的exe文件即可

生成的单一文件

至此,大功告成!!!

有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lady_killer9

感谢您的打赏,我会加倍努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值