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

时间:2019-05-03 16:03:28

标签: qt deployment qml static-libraries static-linking

我正在尝试将Windows部署和应用程序设置为静态,因此单个exe文件将在其中包含所有必需的dll。 因此,当我在PC上分发此单个exe文件时,它将运行正常。

目前,当我通过windeployqt(包括QML)发布项目时,它将整个dll和qmls带入文件夹中。因此,我需要使用QT将其结合在一起(类似于ILMerge软件)。

请指导我完成整个过程。

PS:编译器为MinGW 32b

谢谢

2 个答案:

答案 0 :(得分:0)

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

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

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

https://mxe.cc

要加快在MXE中构建Qt的速度,您应该添加:

JOBS := 4
settings.mk

(用系统中CPU核心的数量替换“ 4”。)要仅构建静态库(这是您想要的),请将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提供的一个库。它还提供了许多其他库的静态构建。

答案 1 :(得分:0)

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

对于以后的谷歌搜索者来说只有一点,不要忘记修复sqlite参数,否则,长达7小时的过程将陷入中间,您将不得不像我一样重新开始:)