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)程序执行成功

相关推荐
2601_966949652 小时前
为什么量化策略需要大量历史股票数据?从回测可信度理解数据规模
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
niucloud-admin2 小时前
JAVA V6 多商户商城 开发文档——插件目录结构
java·开发语言
滕州市燕猫虎计算机科技工作室个体工商户2 小时前
Java锁
java·开发语言
多加点辣也没关系3 小时前
JavaScript|第31章:表单与控件
开发语言·javascript·ecmascript
菜鸟~noob2333 小时前
【电子战】 第09篇:阵列信号处理——波束形成、MVDR、MUSIC【含matlab代码】
开发语言·matlab·信号处理
ocean21033 小时前
2025-2026年Python面试高频知识点洞察
开发语言·python·面试·python八股文
零依赖极客3 小时前
Day 6·1 ARMv8.2 dotprod——vdotq_s32 一条指令做 4 个点积
c语言·开发语言·人工智能·矩阵·arm·vllm
新时代牛马5 小时前
cyclictest 毛刺从哪来?从ftrace、latencytop、perf到IRQ/调度延迟定位
android·开发语言·python·kotlin
三8445 小时前
Java 模板注入(FreeMarker) · 02 · 模板引擎与 FreeMarker 语法
java·开发语言·web安全·freemarker
IvanCodes6 小时前
Python 基础语法(七):推导式与常见遍历写法
开发语言·python