Qt 应用程序打包成安装文件

386 阅读3分钟
欢迎关注公众号: fensnote

文章目录

编译Release版本,拷贝依赖库文件

选择Release模式

在QtCreater选择工程的Release编译,编译出Release版本的exe文件;
选择Release模式编译

使用windeployqt.exe命令提取用到的dll库

打开Qt的Mingw的命令行界面:
Qt命令行界面
在命令行中,切换到exe文件所在文件夹,然后执行命令:

windeployqt lock.exe

执行如下,这个命令会把该exe所用到的库文件都复制过来:

E:\qtwork\lock-Release\release>windeployqt lock.exe
E:\qtwork\lock-Release\release\lock.exe 32 bit, release executable
Adding Qt5Svg for qsvgicon.dll
Skipping plugin qtvirtualkeyboardplugin.dll due to disabled dependencies (Qt5Qml Qt5Quick).
Direct dependencies: Qt5Core Qt5Gui Qt5Widgets
All dependencies   : Qt5Core Qt5Gui Qt5Widgets
To be deployed     : Qt5Core Qt5Gui Qt5Svg Qt5Widgets
Updating Qt5Core.dll.
Updating Qt5Gui.dll.
Updating Qt5Svg.dll.
Updating Qt5Widgets.dll.
Updating libGLESV2.dll.
Updating libEGL.dll.
Updating D3Dcompiler_47.dll.
Updating opengl32sw.dll.
Updating libgcc_s_dw2-1.dll.
Updating libstdc++-6.dll.
Updating libwinpthread-1.dll.
Patching Qt5Core.dll...
Creating directory E:/qtwork/lock-Release/release/iconengines.
Updating qsvgicon.dll.
Creating directory E:/qtwork/lock-Release/release/imageformats.
Updating qgif.dll.
Updating qicns.dll.
Updating qico.dll.
Updating qjpeg.dll.
Updating qsvg.dll.
Updating qtga.dll.
Updating qtiff.dll.
Updating qwbmp.dll.
Updating qwebp.dll.
Creating directory E:/qtwork/lock-Release/release/platforms.
Updating qwindows.dll.
Creating directory E:/qtwork/lock-Release/release/styles.
Updating qwindowsvistastyle.dll.
Creating E:\qtwork\lock-Release\release\translations...
Creating qt_bg.qm...
Creating qt_ca.qm...
Creating qt_cs.qm...
Creating qt_da.qm...
Creating qt_de.qm...
Creating qt_en.qm...
Creating qt_es.qm...
Creating qt_fi.qm...
Creating qt_fr.qm...
Creating qt_gd.qm...
Creating qt_he.qm...
Creating qt_hu.qm...
Creating qt_it.qm...
Creating qt_ja.qm...
Creating qt_ko.qm...
Creating qt_lv.qm...
Creating qt_pl.qm...
Creating qt_ru.qm...
Creating qt_sk.qm...
Creating qt_uk.qm...

如下图,复制过来的文件:
在这里插入图片描述
测试一下是否能直接运行,有时可能还是复制不全,那就再根据提示缺少哪一个,找过来哪一个,很幸运,这个可以运行:
运行测试
这样接下来就可以对这个文件夹进行打包了。

使用Inno Setup打包

Inno Setup是一款国外的免费打包软件,可以把可执行文件exe与其依赖的dll库文件一起打包成一个安装文件(setup.exe)。官网下载请点这里:jrsoftware.org/isdl.php
inno setup 官网

下载安装

下载安装这里就不详细介绍了,windows应用安装基本都一样,一路“下一步”。

安装完成后,开始打包

中间直接使用默认,不需要说明的步骤我就跳过去了。
创建打包脚本:
创建打包脚本
填写应用信息,包括版本、发布者、网站:
填写应用信息
安装目录设置:
安装目录设置
选择要打包的文件和文件夹:
选择要打包的文件和文件夹
安装语言设置:
在这里插入图片描述
生成的安装文件配置:
在这里插入图片描述
然后就配置结束了:
在这里插入图片描述
在这里插入图片描述
至此打包脚本配置完成,下面就可以打包了。

开始编译打包

接着上面的步骤:
在这里插入图片描述
会提示你是否保存脚本:
在这里插入图片描述
编译打包:
在这里插入图片描述

打包完成

打包完成,桌面上会生成一个安装文件(exe):
在这里插入图片描述

安装测试

就和平时安装 windows一样,一路“下一步”:
在这里插入图片描述
在这里插入图片描述
安装好会在桌面上创建快捷方式(安装时选择在桌面创建快捷方式),这个没有图标是因为这个程序编译时没有设置图标,双击这个图标运行:
在这里插入图片描述
可以正常运行,现在就可以把这个安装包发布,安装到别的电脑上了。
注意:Qt5.7以后的版本都不再支持XP系统。

发布

打包好的文件就可以发给朋友用了!