Qt 打包为可执行文件发布

一、打包为文件夹

1、Release 编译

  • Qt Creator 选择构建套件,切换到 Release 模式,不要 Debug
  • 执行「构建项目」,生成 release 目录下的.exe可执行文件

Debug 打包体积巨大,并且目标机器没有 debug 库会直接运行失败。

  • 然后将编译出来的exe文件复制 出来,另外创建一个文件夹,将它放进去

2、windeployqt 自动拷贝依赖库

  • 打开对应版本的 Qt 命令行终端

  • cd 进入你的 release exe 所在文件夹

    cd /d D:\project\build-xxx-Release

  • 执行 windeployqt,自动拷贝 dll、qml、插件、翻译文件

    如果是普通Widget程序

    windeployqt yourApp.exe

    如果是QML程序,必须加 --qmldir 指定qml源码目录

    windeployqt --qmldir D:\project\yourApp\qml yourApp.exe

执行完成后,当前目录会生成一堆 dll、plugins、iconengines 等文件夹。 此时把整个文件夹复制到别的 Windows 电脑,即可双击运行。

二、打包成单 exe 文件

windeployqt 出来是一堆散文件,想要单个 exe ,用Enigma Virtual Box(免费)

安装:

  1. 打开 Enigma Virtual Box
  2. Enter input file:选你的yourApp.exe
  3. Enter output file:输出单 exe 名字
  4. Add → Add Folder Recursively,把 windeployqt 生成的整个目录全部添加进去
  5. Files Options →勾选「Compress files」压缩
  6. Process,生成独立单文件 exe。

❗不推荐使用 upx 直接压缩 qt exe,容易报病毒、闪退。

觉得有帮助的话,打赏一下呗。。

相关推荐
实心儿儿7 小时前
Qt — 命名方式、坐标系
qt
小小龙学IT9 小时前
Qt QPainter 2D 绘图系统深度解析:从画笔到渲染引擎适
c++·qt
深兰科技10 小时前
深兰科技受邀参与第二届中国(南宁)—东盟人工智能场景应用对接会,深化AI国际合作
人工智能·qt·r语言·scala·symfony·智能机器人·深兰科技
实心儿儿10 小时前
Qt — 对象树
qt
Quz1 天前
QML Repeater 数据模型:ListModel 与 C++ QAbstractListModel
qt
Quz1 天前
QML Repeater 基础用法:整数、JS 数组、字符串数组三种模型
qt
江湖人称菠萝包1 天前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter3-Qt类库概述
笔记·qt·qt5
qq_344920561 天前
Qt事件过滤器
开发语言·c++·qt
sunriver20001 天前
【Qt】由于找不到 Qt6Core5Compatd.dll
qt·qt6core5compatd
qq_344920561 天前
Qt 鼠标双击QLabel全屏显示图像
c++·qt