如何使用静态链接构建 Qt 应用程序

Posted

技术标签:

【中文标题】如何使用静态链接构建 Qt 应用程序【英文标题】:How to build Qt application using static linking 【发布时间】:2015-01-16 18:58:08 【问题描述】:

我是为 Visual Studio 来的,您只需将项目设置更改为静态或动态链接,这样您的应用程序就不需要框架 dll 在另一台机器上运行。我如何在 Qt 中做到这一点?

我正在关注http://doc.qt.io/qt-5/windows-deployment.html,但这很有帮助。

上面写着:

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

但是 c:\Qt 是一个根文件夹(在我的情况下是默认的)并且无法识别配置命令。我去了 c:\Qt\5.3 仍然是同样的情况。另外,如果有的话,我应该为

你真的必须去命令行才能做到这一点..这是唯一的方法吗?我还读到很少有人说我需要将此行添加到 .pro 文件中

CONFIG += static

但这也无济于事。

如何静态链接?

【问题讨论】:

您确定您的C:\Qt\5.3 目录中有configure.exe 吗?确保您下载了随附的正确源代码。 我搜索了一下,我的根目录c:\Qt 下唯一的configure.exeC:\Qt\5.2.1\Src\qtbase,这有意义吗?我应该在那里运行它吗? 是的,而且似乎建议从 Visual Studio Command Prompt 中运行配置步骤(应该在开始菜单中的 Visual Studio 工具下?) 我没有使用 Visual Studio,我只使用 Qt Creator。 Qt static linking and deployment的可能重复 【参考方案1】:

首先确保您的 Qt 版本是静态的。 然后将CONFIG += static 添加到您的.pro 文件中。

【讨论】:

我在整个 SO 中都看到了这个答案,但事实并非如此。 其实我从 Qt 论坛的一位知识渊博的人那里得到了相同的答案,所以......也许是。

以上是关于如何使用静态链接构建 Qt 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

可以开箱即用静态链接的 Qt 构建?

使用 MinGW 静态构建 Qt 5.7 时,如何解决此构建错误?

与 Qt 项目的静态链接

Qt 和静态库文件 - 如何编译

应用程序如何链接静态QT Plugin库

QT静态库静态编译