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

相关推荐
NiNi_suanfa1 小时前
【Qt】Qt 批量修改同类对象
开发语言·c++·qt
小糖学代码2 小时前
LLM系列:1.python入门:3.布尔型对象
linux·开发语言·python
Data_agent2 小时前
1688获得1688店铺详情API,python请求示例
开发语言·爬虫·python
妖灵翎幺2 小时前
C++ 中的 :: 操作符详解(一切情况)
开发语言·c++·ide
mengzhi啊3 小时前
c++11的变参模板和c++17的左折叠
qt
Halo_tjn3 小时前
虚拟机相关实验概述
java·开发语言·windows·计算机
star _chen3 小时前
C++实现完美洗牌算法
开发语言·c++·算法
周杰伦fans3 小时前
pycharm之gitignore设置
开发语言·python·pycharm
别叫我->学废了->lol在线等4 小时前
演示 hasattr 和 ** 解包操作符
开发语言·前端·python
VX:Fegn08954 小时前
计算机毕业设计|基于Java人力资源管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·后端·课程设计