首页 > 解决方案 > 确定 Qt 库链接

问题描述

我试图在项目(.pro)文件中猜测 Qt 的库链接。我正在使用各种 Qt 框架目录:32 位和 64 位 Windows、Linux 和 Android 版本;使用静态和共享的 Qt 库。我尝试了几种方法来检查 Qt 的链接,但到目前为止没有任何效果。

尝试1:

qtConfig(static): message("Qt 静态链接")

尝试2:

CONFIG(static, static|shared): message("Qt 静态链接")

尝试3:

static: message("Qt 静态链接")

I guessed all previous test would lead the same result, and thus show the "message" when selected Qt build is a static one, but I don't know if it's a Qt Creator issue or if I'm overriding *CONFIGvariables in project tree. 我已经检查了太多次,但我没有发现任何问题。

标签: c++qtqmake

解决方案


没有像“静态”这样的 Qt-config 功能。所以正确的是

!qtConfig(shared): message("Qt statically linked")

作为替代方案,您可以这样做

!contains(QT.global.enabled_features, shared): message("Qt statically linked")

但是这个记录更少,所以你最好坚持使用qtConfig()哪个基本上测试相同的东西。

第 2 项是对用户项目本身的构建配置的测试,即如果您正在构建自己的静态或共享库。

No. 3 是 No. 2 的错误方法,因为CONFIG允许用户同时包含shared /static、debug/release 等。只有最后一个重要。


推荐阅读