QT可执行程序打包成安装程序

目录

1.将QT程序先放到一个文件中

2.下载QtInstallerFramework-win-x86.exe

3.将setup.exe单独拷贝出来,进行安装测试

4.测试安装后的程序是否可执行


1.将QT程序先放到一个文件中

(1)QT切换到release模式,编译后在构建目录生成可执行文件,例如myqml.exe,把该文件复制到一个单独文件夹;

a.QT切换到release模式,进行编译;

b.进入生成myqml.exe的目录,将myqml单独拷贝出来

c.在C:\Qt\Qt5.12.3\5.12.3\mingw73_64下创建MYQML文件件并将上一步的myqml.exe拷贝到C:\Qt\Qt5.12.3\5.12.3\mingw73_64\MYQML下

(2)在开始菜单找到QT,在里面找cmd命令行程序,类似"Qt 5.12.3 (MinGW 7.3.0 64-bit)",点击运行;

(3)命令行输入:cd "myqq.exe所在路径",例如"cd MYQML",执行;

(4)然后使用 windeployqt 工具命令:windeployqt myqml.exe,执行即可把依赖库复制到当前目录。生成如下:

此时可以看到在MYQML下已经将依赖的库添加进来:

(5) 进入到C:\Qt\Qt5.12.3\5.12.3\mingw73_64\MYQML下,双击执行myqml.exe,确认myqml.exe是否依赖库全部添加进来,既是否可执行,如果不可执行,会提示哪些依赖的库没有添加进来:

由上图可知,还有很多依赖库未添加进来,通过搜索工具,在电脑下搜索对应的依赖库,并添加进来;

再次双击执行myqml.exe,其可执行了:

2.下载QtInstallerFramework-win-x86.exe

(1)通过如下路径下载QtInstallerFramework-win-x86.exe

Index of /official_releases/qt-installer-frameworkhttps://download.qt.io/official_releases/qt-installer-framework/

(2)安装QtInstallerFramework-win-x86.exe

3、配置

QtInstallerFramework-win-x86.exe安装在C:\Qt\QtIFW-4.6.1,安装目录下有这个目录examples\tutorial,这是个例子

主要配置./config/config.xml 和 ./packages/com.vendor.product/meta/installscript.qs

然后将C:\Qt\Qt5.12.3\5.12.3\mingw73_64\MYQML文件夹里的所有东西全部复制到./packages/com.vendor.product/data目录下,包含第三方的链接库

4、使用如下命令制作安装包

C:\Qt\QtIFW-4.6.1\bin\binarycreator.exe -f -c C:\Qt\QtIFW-4.6.1\examples\tutorial\config\config.xml -p C:\Qt\QtIFW-4.6.1\examples\tutorial\packages setup.exe

执行后会花一些时间对myqml.exe和依赖的库进行打包生成安装程序setup.exe

安装程序setup.exe在 C:\Qt\Qt5.12.3\5.12.3\mingw73_64\MYQML下

3.将setup.exe单独拷贝出来,进行安装测试

(1)setup.exe将其拷贝到桌面

(2)双击执行安装,出现如下画面

(3)选择安装路径,一步步默认选择进行安装

(4)为安装软件起名称:

(5)继续安装,安装过程中会有一些依赖库被杀毒软件认为不可信,自己点击信任,继续,如下显示安装完毕

4.测试安装后的程序是否可执行

(1)安装路径:

(2)双击可执行程序:

(3)程序执行成功

相关推荐
iCxhust1 小时前
c# U盘映像生成工具
开发语言·单片机·c#
yangzhi_emo2 小时前
ES6笔记2
开发语言·前端·javascript
emplace_back3 小时前
C# 集合表达式和展开运算符 (..) 详解
开发语言·windows·c#
jz_ddk3 小时前
[学习] C语言数学库函数背后的故事:`double erf(double x)`
c语言·开发语言·学习
萧曵 丶3 小时前
Rust 所有权系统:深入浅出指南
开发语言·后端·rust
xiaolang_8616_wjl3 小时前
c++文字游戏_闯关打怪2.0(开源)
开发语言·c++·开源
收破烂的小熊猫~3 小时前
《Java修仙传:从凡胎到码帝》第四章:设计模式破万法
java·开发语言·设计模式
nananaij4 小时前
【Python进阶篇 面向对象程序设计(3) 继承】
开发语言·python·神经网络·pycharm
阿蒙Amon4 小时前
为什么 12 版仍封神?《C# 高级编程》:从.NET 5 到实战架构,进阶者绕不开的必修课
开发语言·c#