ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

QT项目打包成可安装版本教程

QT项目打包成可安装版本教程

前言:最初写这篇博客,是为了解决Qt程序在自己电脑上运行正常,发给别人就闪退或报错的问题。核心原因在于脱离了本地环境后,程序缺失了必要的依赖库和插件。因此,我将这套从Release编译到打包成单文件exe的完整工作流记录下来,希望能帮大家彻底解决跨电脑运行失败的问题。

软件与开发环境说明

  • 操作系统:Windows 10 (64-bit)
  • Qt版本:Qt 5.15.2
  • 编译器:MinGW 7.3.0 64-bit
  • 依赖收集:windeployqt.exe(Qt官方自带)
  • 单文件封装:Enigma Virtual Box (免费工具)
  • 第三方库:OpenCV、Boost等 (需额外准备Release版dll)

提示:无论Qt 5.x还是6.x,MinGW还是MSVC,核心打包逻辑相通。只需确保打包工具与编译套件的版本、位数严格一致即可。

1、选择Rrelease模式构建项目(Debug模式下打包的软件体积大且目标机器没有debug库会运行失败)

2、新建一个文件夹,复制Rrelease生成的.exe可执行文件到新文件夹

3、使用用QT官方命令环境(推荐)执行windeployqt+可执行文件全名

Qt 安装时会提供一个专用的命令行终端(如 “Qt 5.15.2 (MinGW 8.1.0 64-bit)”),它已自动配置好所有环境变量。可从开始菜单中找到并打开对应版本的 Qt 命令行工具,再进入你的 exe 所在目录执行命令。

文件夹中加入相关依赖,此时双击应用程序运行,可以正常运行,如果提示报错,按照提示加入项目相关依赖即可。

如出现下图问题,找到你项目用的该.dll复制到这个文件夹即可。

4、也可以在路径搜索栏输入cmd打开命令行,执行:windeployqt+可执行文件全名,执行完成后文件夹目录加入QT相关依赖。(本方法方便快捷,但容易报错)

注意:如果出现如下提示,需手动添加项目使用版本的Qt 的bin目录添加到系统环境变量中,重启命令窗口即可执行windeployqt命令

双击运行.exe文件,若报错,找到项目对应依赖

5、程序可以正常运行后,可以生成压缩包发送给目标设备运行,也可以使用Enigma Virtual Box打包成单exe发给目标设备运行

Enigma Virtual Box官网地址:enigma virtual box下载

6、使用Enigma Virtual Box打包成单exe步骤如下

  1. 打开Enigma Virtual Box(免费工具)软件,选择你的yourApp.exe作为输入文件
  2. 指定输出文件名
  3. 点击"Add Folder Recursively",把windeployqt生成的整个目录全部添加进去
  4. 在Files Options中勾选"Compress files"进行压缩
  5. 点击"Process"生成独立单文件exe

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进