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

目录

运行

添加依赖

发布成单一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文件即可

生成的单一文件

至此,大功告成!!!

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

发布了163 篇原创文章 · 获赞 471 · 访问量 26万+

猜你喜欢

转载自blog.csdn.net/lady_killer9/article/details/89975504