Qt Creator - 如何使用静态参数部署应用程序

Qt Creator - How to deploy application using static parameter

我正在尝试 windows 以静态方式部署和应用程序,因此单个 exe 文件将在其中包含所有必需的 dll。 所以当我在 PC 之间分发这个单一的 exe 文件时,它会工作正常。

目前,当我通过 windeployqt(包括 QML)发布项目时,它会在文件夹中带来一大堆 dll 和 qml。所以我需要使用 QT 将它连接在一起(有点像 ILMerge 软件)。

请指导我完成整个过程。

PS: 编译器是 MinGW 32b

谢谢

Qt 不提供静态构建下载。您需要自己构建 Qt。有帮助您入门的说明:

https://doc.qt.io/qt-5/build-sources.html

但是,更简单的替代方法是 MXE,它将为您构建一个静态 Qt:

https://mxe.cc

为了加快在 MXE 中构建 Qt,您应该添加:

JOBS := 4

in settings.mk(将“4”替换为系统中 CPU 个内核的数量。)要仅构建静态库(这是您想要的),请更改 MXE_TARGETS至:

MXE_TARGETS := i686-w64-mingw32.static

settings.mk 最初不存在。 运行:

make check-requirements

创建它。

您应该仔细按照 https://mxe.cc 上的说明进行操作。如果一切看起来都是文件,那么你可以这样做:

make qtbase

构建工具链。这将构建 GCC、Qt 所需的所有库,然后是 Qt 本身。初始设置需要一段时间,因为它需要构建所有内容。

MXE 需要 Linux、macOS 或 Windows 的 Linux 子系统。我推荐Linux。使用 MXE,您通常会使用官方 Qt 开发您的应用程序,但是当您想要构建您的应用程序的版本时,您会使用 MXE 工具链来构建它,它提供了 Qt 的静态版本。

Qt只是MXE提供的一个库。它还提供许多其他库的静态构建。

检查提到的选项后,我发现可视化 here, 这是很简单的方法,但是很耗时...

只有一分给未来的 googliers,不要忘记修复 sqlite 参数,否则 7 小时长的过程会卡在中间,你将不得不像我一样重新开始:)