确定Qt库链接

Determine Qt libraries linkage

本文关键字:链接 Qt 确定      更新时间:2023-10-16

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

尝试 1:

qtConfig(static(: message("Qt static linked"(

尝试 2:

CONFIG(static, static|shared(: message("Qt static linked"(

尝试 3:

静态:消息("Qt 静态链接"(

我猜之前的所有测试都会导致相同的结果,因此当选择Qt构建是静态时显示"消息",但我不知道这是Qt Creator问题还是我是否覆盖了项目树中的*CONFIG变量。我已经检查了太多次,我没有发现任何问题。

没有像"静态"这样的Qt配置功能。所以正确的是

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

作为替代方案,您可以做

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

但是这个文档更少,所以你最好坚持使用本质上测试相同事物的qtConfig()

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

第3 条是2 种错误的方法,因为允许用户的CONFIG同时包含共享/静态、调试/发布等。只有最后一个才重要。