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:
为了加快在 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 小时长的过程会卡在中间,你将不得不像我一样重新开始:)
我正在尝试 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:
为了加快在 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 小时长的过程会卡在中间,你将不得不像我一样重新开始:)