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

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

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


选择Release模式


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


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


打开Qt的Mingw的命令行界面:


在命令行中,切换到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)。官网下载请点这里:https://jrsoftware.org/isdl.php


下载安装


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


安装完成后,开始打包


中间直接使用默认,不需要说明的步骤我就跳过去了。


创建打包脚本:


填写应用信息,包括版本、发布者、网站:


安装目录设置:


选择要打包的文件和文件夹:


安装语言设置:


生成的安装文件配置:


然后就配置结束了:


至此打包脚本配置完成,下面就可以打包了。


开始编译打包


接着上面的步骤:


会提示你是否保存脚本:


编译打包:


打包完成


打包完成,桌面上会生成一个安装文件(exe):


安装测试


就和平时安装 windows一样,一路“下一步”:


安装好会在桌面上创建快捷方式(安装时选择在桌面创建快捷方式),这个没有图标是因为这个程序编译时没有设置图标,双击这个图标运行:


可以正常运行,现在就可以把这个安装包发布,安装到别的电脑上了。


注意:Qt5.7以后的版本都不再支持XP系统。


发布


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

目录
相关文章
|
2月前
|
安全 网络协议 数据安全/隐私保护
掌握Qt和C++:构建你的第一个P2P应用程序
掌握Qt和C++:构建你的第一个P2P应用程序
120 3
|
2月前
|
开发框架 Unix Linux
深度探索:Qt CMake工程编译后的自动打包策略
深度探索:Qt CMake工程编译后的自动打包策略
34 0
|
4月前
Qt rcc静态资源编译及使用 QtInstallframework 打包成安装包后图标丢失问题
Qt rcc静态资源编译及使用 QtInstallframework 打包成安装包后图标丢失问题
28 0
|
7天前
|
开发框架 自然语言处理 Linux
Qt:构建强大跨平台应用程序的框架
Qt:构建强大跨平台应用程序的框架
|
1天前
|
人工智能 编译器 C++
新版Qt6快速打包程序脚本
不知道啥时候Qt更新了,目前是6.7.0,项目默认的生成路径改了, 从 项目目录的同级目录 改为了 项目目录中的build目录, 之前的脚本也用不了了,所以用AI更新了一下脚本, 希望能帮到大家,方便快速打包程序到桌面。
17 9
|
4天前
|
开发框架 编译器 C++
Qt:一个强大的跨平台C++应用程序开发框架
Qt:一个强大的跨平台C++应用程序开发框架
11 1
|
4天前
|
开发框架 Linux C++
Qt:强大的跨平台C++应用程序开发框架
Qt:强大的跨平台C++应用程序开发框架
16 3
|
1月前
Qt程序打包发布记录使用windeployqt工具
Qt程序打包发布记录使用windeployqt工具
|
2月前
|
存储 缓存
【Qt 全局属性相关】 Qt 应用程序行为的全局属性 Qt::ApplicationAttribute枚举解析
【Qt 全局属性相关】 Qt 应用程序行为的全局属性 Qt::ApplicationAttribute枚举解析
22 0
|
2月前
|
编解码 开发者 UED
Qt布局实战:实现高效、美观的GUI应用程序
Qt布局实战:实现高效、美观的GUI应用程序
128 2