免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持APP、电脑端、小程序、IOS免签等等

qt生成的exe怎么打包

在这篇文章中,我们将了解如何将使用Qt框架生成的可执行文件(exe)打包。这里的打包,我们可以理解为将Qt程序所依赖的文件一同打包,这样就可以在没有安装Qt运行库的计算机上运行我们的程序。

为了保证文章足够详细,我们将分为以下几个部分:

1. 确认Qt程序的依赖关系

2. 手动收集依赖文件

3. 使用windeployqt工具自动收集依赖文件

4. 使用Inno Setup创建安装包

## 1. 确认Qt程序的依赖关系

在将Qt程序打包之前,我们需要确定程序所依赖的文件。这包括:

1. 应用程序本身的可执行文件 (exe)

2. 应用程序依赖的Qt库文件 (dll)

3. 应用程序依赖的插件 (plugins) 如下示例:

Qt5Core.dll

Qt5Gui.dll

Qt5Widgets.dll

platforms/qwindows.dll

iconengines/qsvgicon.dll

imageformats/qsvg.dll

如何确认这些依赖文件呢?我们可以使用 Dependency Walker 工具来查看可执行文件所依赖的DLL文件。

## 2. 手动收集依赖文件

按照以下步骤手动收集依赖文件:

1. 在程序exe文件的同级目录下创建一个文件夹,例如:MyApp;

2. 将程序exe文件复制到MyApp文件夹内;

3. 找到依赖的Qt DLL 文件(例如:Qt5Core.dll、Qt5Gui.dll、Qt5Widgets.dll等),将这些文件复制到前面创建的MyApp文件夹内;

4. 在MyApp文件夹内创建一个名为"platforms"的子文件夹;

5. 将qwindows.dll(位于你的Qt安装目录下的 plugins/platforms/ 路径下)复制到刚创建的"platforms"文件夹内;

6. 如果程序中用到了其他插件,例如图标或者图片等,需要相应地复制iconengines,imageformats等子文件夹及其内部的插件文件到MyApp的根目录下;

7. 最后确保运行库文件(如:MSVCP120.dll、MSVCR120.dll等)也在此目录下,或者已安装在目标计算机上。

注意:收集的dll文件和插件需要与你的程序的版本(32位或64位)、编译环境和Qt版本保持一致。否则你的程序在运行时可能会出问题。

## 3. 使用windeployqt工具自动收集依赖文件

手动收集依赖文件可能会漏掉一些文件,为了简化这一流程,可以使用 windeployqt 工具。

1. 打开 cmd,进入程序exe所在的目录;

2. 执行以下命令(请注意将路径替换为你的Qt安装路径):

```

C:\Qt\Qt5.x.x\5.x.x\msvc20xx\bin\windeployqt.exe --qmldir C:\path\to\your\qml MyApplication.exe

```

3. windeployqt 将分析程序的依赖关系,并自动收集所需的文件到exe所在的目录下。

## 4. 使用Inno Setup创建安装包

为了更方便用户安装我们的程序,我们可以用Inno Setup创建一个安装包。

1. 下载并安装 Inno Setup;

2. 运行 Inno Setup,选择 "Create a new script file using the Script Wizard" 选项;

3. 按照向导填写应用程序的相关信息,指定程序的源文件夹(即包含exe和依赖文件的MyApp文件夹),并生成安装脚本;

4. 编译脚本文件(.iss),生成安装包。

经过上述步骤后,你已经成功地将Qt生成的EXE文件打包成一个可以在没有安装Qt运行库的计算机上运行的安装包了。用户只需下载并安装,即可愉快地使用你的程序。


相关知识:
生成exe执行文件时
在本教程中,我们将介绍如何生成一个exe执行文件,以及在这个过程中所涉及的原理和技术。Exe文件,或可执行文件,是一种以编译后的二进制格式保存的程序文件。当你在计算机上双击一个exe文件时,其实是让操作系统按照该文件中的指令来执行对应的程序。通常exe文件
2023-06-14
文件夹中生成很多exe文件
当我们在计算机文件夹中看到大量的exe文件出现时,可能有以下几种情况:1. 正常软件安装及使用:在Windows系统中,许多程序的可执行文件都是.exe文件。因此,在计算机的各个文件夹中,尤其是安装了大量应用程序的情况下,自然会有很多exe文件。2. 恶意
2023-06-14
打包exe可执行文件
在本教程中,我们将介绍如何为一个简单的Python程序创建一个可执行的exe文件。此外,我们还将探讨打包exe文件的原理,来帮助您更好地理解其工作方式。打包exe可执行文件的原理:当你尝试将一个Python应用程序(例如.py文件)转换为一个独立的exe文
2023-06-14
web项目打包exe文件
Web项目打包成exe文件的原理和详细介绍Web项目打包成exe(可执行文件)的主要目的是为了将网页应用转化为桌面应用。这种方法具有便捷性,用户无需在浏览器中访问网页,直接运行可执行文件即可使用应用。在本文中,我们将详细介绍将网页应用打包成exe文件的原理
2023-06-14
mfc生成exe
MFC(Microsoft Foundation Classes)是微软公司开发的一套用于简化Windows应用程序开发的C++类库。通过使用MFC,开发者可以更加高效地创建基于Windows的图形用户界面(GUI)应用程序。在MFC中,各种Windows
2023-06-14
matlab的app怎么生成exe
在MATLAB中,通过创建一个可执行文件(EXE文件)分享我们的应用程序(app)是非常方便的。生成EXE文件允许其他用户在没有安装MATLAB的设备上运行该应用,他们只需要安装MATLAB Runtime即可。下面简单介绍一下生成EXE文件的原理和详细操
2023-06-14