IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> QT软件打包发布,踩坑记录 -> 正文阅读

[游戏开发]QT软件打包发布,踩坑记录

一、过程概述

QT 构建出来的exe文件,依赖系统内散落在各处的dll文件,我们把需要的dll文件提取出来,然后打包、生成安装文件。下面的介绍,以生成64位应用为例,生成32位的过程同理。

  1. 生成 release 版本的exe 文件;
  2. 利用官方的windeployqt.exe 生成exe文件的所有依赖文件。
  3. 利用inno setup 制作安装包。

二、生成release版本的exe文件

我们构建工程时,可以选择Debug 和 Release 两种方式,由于Debug 版本携带了大量的调试信息,这些调试信息,对用户来说是没必要的,所以我们选择Release 版本提供给用户。
在这里插入图片描述
在这里插入图片描述

  1. 选择要构建的是32 位的还是64位的程序;选择Release ;
  2. 点击 “小铁锤”构建工程。
  3. 在工程的输出目录下,找到刚才构建出来的exe文件(MyUart.exe)。

三、根据exe 文件,生成依赖文件

将上一步生成的 release 版本的exe文件(MyUart.exe ),拷贝到一个空的文件夹下。我在验证时,拷贝到MyUart 文件夹下。接下来,我开始踩坑了。

1. 踩坑过程

  • 打开wsl ,将windeployqt.exe 的路径添加到wsl 的PATH;
  • wsl 进入MyUart 目录,执行 windeployqt.exe MyUart.exe , 生成MyUart.exe 所依赖的文件在当前目录。

错误提示1

按照网上的教程,上面两步执行完之后,点击MyUart.exe ,程序就能跑起来了。可惜,事与愿违。点击MyUart.exe 之后,提示: 由于找不到libgcc_s_seh-1.dll,无法继续执行代码。
在这里插入图片描述

利用everything ,找到了libgcc_s_seh-1.dll,拷贝到MyUart.exe 目录下。继续运行。

错误提示2

这次提示: 应用程序无法正常启动(0xc000007b).
在这里插入图片描述

在网上找了好久,没找到可行的解决办法。后来发现,如果把QT的安装目录添加到系统环境下,MyUart.exe 能正常运行。说明还是缺某个文件。但是安装目录下那么多文件,究竟是缺哪个文件,不好确定,有没查看依赖文件的工具呢?

开源工具查看exe 依赖的dll文件

网上果然有开源的工具,支持查看exe的所有依赖文件。Dependencies . 从github 上下载最新的release 文件,打开DependenciesGui.exe 文件,再点击文件,打开MyUart.exe ,打开要分析的exe文件。
在这里插入图片描述
在这里插入图片描述

这里,我们可以找齐MyUart 所依赖的所有dll文件。把依赖的文件添加到MyUart 目录下,程序就可以跑起来了。

2. 正确的过程

虽然前面的过程,实现了程序正常运行,但是太费劲了。QT那么成熟的方案,不至于效率那么低吧?官方提供的windeployqt.exe 工具,应该还是很稳的,不至于缺那么多文件?难道是运行windeployqt.exe 的方式有问题?
使用安装目录下的 Qt 5.12.9( MinGW 7.3.0 64-bit) 运行 windeployqt.exe , 执行完,程序就能直接运行了。不缺任何文件。

四、制作安装包

Inno Setup是一个免费的 Windows 安装程序制作软件,其使用核心在于.iss脚本文件的制作,脚本制作完成后,可进行构建-编译制作安装包。
下载 innosetup
在这里插入图片描述

在这里插入图片描述

填写应用程序名,当前软件版本,公司名,应用官网
在这里插入图片描述

填写安装包的默认安装路径,可以不填,保留默认路径:
在这里插入图片描述

选中执行文件和其所在路径
在这里插入图片描述

这里可以直接next
在这里插入图片描述

next
在这里插入图片描述

next
在这里插入图片描述

next
在这里插入图片描述

选中English
在这里插入图片描述

选中安装包的输出路径和安装文件名:
在这里插入图片描述

next ->Finish
保存并执行脚本,脚本执行完毕,在前面的输出路径,可以找到安装文件。

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-04-27 11:37:15  更:2022-04-27 11:38:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 15:01:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码