如何使用mingw静态链接Windows中的qt应用程序

时间:2013-09-24 07:27:21

标签: c++ qt

http://qt-project.org/doc/qt-4.8/deployment-windows.html说:

在我们构建应用程序之前,我们必须确保Qt是静态构建的。为此,请转到命令提示符并键入以下内容:

cd C:\path\to\Qt
configure -static <any other options you need>

这样做导致:

'configure' is not recognized as an internal or external command,
operable program or batch file.

是否有任何分步指南解释如何配置我的QT项目以便生成静态链接的二进制文件?

此外,本指南似乎期望用户拥有完整的msvc编译器,我使用MinGW,所以我没有setenv批次

1 个答案:

答案 0 :(得分:0)

确保您已下载.zip variant of Qt sources (4.8.5).tar.gz一个configure.exe缺失qmake.conf,至少Qt 5。

它应该工作。

请注意,有两个级别的“静态”:

  1. 将Qt本身作为静态库。

  2. Qt(以及您的应用程序)对C / C ++运行时的依赖。

  3. 由于您可能想要两者,因此您必须强制Qt本身静态链接到C / C ++运行时库。我还没有为mingw做过,但它需要更改相关的{{1}}。此更改将传播到您使用此类调整的Qt构建的代码,因此您的应用程序将静态链接到Qt和C / C ++运行时。

    使用MSVC2012和链接时间代码生成,在UPX可执行文件之后,对于使用gui和网络模块的小型应用程序,大小约为3mb。只是想知道它会有多大。使用mingw时可能会更大。