目录
前言
一、准备工作
1. 完成 QT 软件的编译
2. 收集软件依赖文件
3. 安装 Enigma Virtual Box
二、使用 Enigma Virtual Box 进行打包
1. 启动 Enigma Virtual Box
2. 添加要打包的主程序
3.添加主程序依赖
4.执行封包
总结
前言
我们一般在QT软件完成开发以后,可能会用QT自带的windeployqt工具将依赖添加到release文件夹内,然后直接将文件夹发给对方,但是这样比较的乱,如果能把它们打包成一个独立的 exe 可执行文件,能方便用户安装和使用。本文将详细介绍如何使用 Enigma Virtual Box 工具,实现将 QT 生成的软件打包成单一 exe 文件的全过程。
一、准备工作
1. 完成 QT 软件的编译
在 QT Creator 中,确保项目以 Release 模式进行编译。通过菜单栏选择 “构建” -> “构建套件选择器”,将模式切换为 “Release” ,然后点击 “构建” -> “构建项目”。编译成功后,在项目目录的release
文件夹中,会生成软件的可执行文件(.exe
)。
2. 收集软件依赖文件
QT 软件运行时依赖众多动态链接库(DLL)和其他资源文件,我们可以借助 QT 自带的windeployqt
工具来收集这些依赖。打开 QT 命令提示符(在开始菜单中找到对应的 QT 版本命令行工具),使用cd
命令切换到软件可执行文件所在的release
目录,然后执行命令windeployqt your_app_name.exe
(将your_app_name.exe
替换为实际的可执行文件名)。windeployqt
会自动扫描并复制所需的依赖文件到当前目录。
3. 安装 Enigma Virtual Box
从 Enigma Virtual Box 的官方网站下载安装程序,根据系统类型(32 位或 64 位)选择对应的版本进行下载。下载完成后,按照安装向导的提示完成软件的安装(免费)。
二、使用 Enigma Virtual Box 进行打包
1. 启动 Enigma Virtual Box
安装完成后,双击桌面上的 Enigma Virtual Box 图标启动软件,进入其主界面。我们可以选择语言为中文,然后重启软件,重启后入下图所示。
2. 添加要打包的主程序
我们点击第一个浏览按钮,选择QT生成的exe文件。然后下面封包程序另存下面会自动生成一个路径,我们打包好的程序会放到该路径下,当然我们也可以自己手动修改这个路径。
3.添加主程序依赖
我们可以点击左下角那个增加按钮,可以选择增加文件和增加文件夹(递归) ,这里我选择的是增加文件夹(递归),选择的是release这个目录,release下面所有的文件都会添加到里面,也包括主程序,但是主程序不需要我们自己添加,所以需要选择文件中的主程序,然后点击下面的移除按钮,现在所有的依赖文件我们就添加完成了。
4.执行封包
我们点击下面的执行封包按钮,就开始打包程序了,等待一小会,如果提示
15:29:131生成最终的交件[15:29:19]交件已成功保存为XXXXXXXXXXX
就表示打包成功了,我们将这个打包好的文件复制出来, 单独防一个文件夹,如果有所需的ini配置文件也一并复制过来,运行一下测试功能,没有问题的话基本上就OK了。
总结
这个方法基本上可以告别凌乱的release文件夹,但是我在打包的时候添加文件的时候偷懒了,直接添加的整个realse文件夹,应该有不需要添加的文件,这个有时间的小伙伴可以自己优化一下。