qt程序打包成单一文件EXE (一)

本文详细介绍如何在Qt5.7环境下为应用程序设置图标、使用windeployqt工具查找并复制所需的DLL文件,以及如何利用Enigma Virtual Box将Qt应用程序打包成单一EXE文件。
平台 qt5.7
(一)界面标题栏图,编译生成exe的图标ico 添加 ,在qt帮助里setting application icon 里有说明
n.1 把ico放到项目同目录下
n.2 创建一个myapp.rc 文件,并写入下面内容
IDI_ICON1 ICON DISCARDABLE "app.ico"
n.3 在项目文件.pro文件里加入下面内容

RC_FILE = myapp.rc






(二) 查找所需dll
Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。以官方 Qt 5.7.0+MinGW 开发环境为例:
从开始菜单-->Qt 5.7.0-->5.7-->MinGW 5.3.0 (32-bit)-->Qt 5.7 for Desktop (MinGW 5.3.0 32 bit),可以打开 Qt 命令行,从这里就可以执行 windeployqt 工具。
集成开发环境 QtCreator 目前生成图形界面程序 exe 大致可以分为两类:Qt Widgets Application 和 Qt Quick Application。
1、Qt Widgets Application

1)首先用 QtCreator 新建一个 Qt Widgets Application 项目,直接用默认的 QMainWindow 程序就可以了,项目名字假定是 Login,然后以 Release 方式编译生成可执行程序。



2)生成的程序运行正常之后,找到项目的生成目录,进入它的项目生成目录,拷贝出可执行程序(exe文件),例如放置在 D:\qtapp
3)然后从开始菜单打开 Qt 命令行,
a.输入命令 :cd /d D:\QtApp 进入目录,
b.然后使用 windeployqt 工具命令:windeployqt server.exe,
c.之后就可以看见windeployqt 工具自动复制的插件文件夹和dll文件、qm文件。这时候得到的就完整的可执行程序发布集合,依赖关系都解决好了。
4)之后通过其他的打包方式,或者使用Qt的install进行打包,即可生成单一可执行程序用于安装发布。
2、Qt Quick Application
       新建方式和生成Widgets程序相同,只是在查找依赖的时候不同,需要使用命令windeployqt TestQt.exe --qmldir 指定qml目录,进行复制依赖,之后打包方式也相同。


(三)第二节打包成单一EXE
打包工具,这里选用Enigma Virtual Box
Enter Input File Name中,选择exe
       Enter Output File Name,输出文件名称
       点Add按钮,将前面准备好的dll文件,添加进来,(添加文件夹会把其子文件夹一起添加)
       点Files Options,勾选Enable Files Virtualization和Compress files,OK

       最后,点Process,大告成。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值