Qt $$ [...] - 在构建Qt时设置的配置选项

时间:2014-05-08 20:21:50

标签: qt qmake

我正在查看此Qt5 .pro文件。它有以下条目:

DESTDIR = $$[QT_INSTALL_PLUGINS]/ms_plugins

我知道这意味着已编译模块的输出(插件)应该进入Qt5插件安装位置的ms_plugins子文件夹。我已经确认插件确实进入了该位置。

我的问题是:

  1. QT_INSTALL_PLUGINS在哪里定义?
  2. 在相关的说明中,是否有一个类似的变量来保存 构建目录的位置。通常,像 我的Mac上有build_Desktop_Qt_5_2_1_clang_64bit-Debug
  3. 所有可用变量的任何文档?
  4. 编辑:我已经找到了对这些变量here的一些描述,但是,我仍然没有看到他们在哪里定义。

    EDIT2:主要面向未来的访客。 documentation提及The special $$[...] operator can be used to access various configuration options that were set when Qt was built:。因此,为了弄清楚QT_INSTALL_PLUGINS是什么,我们可以将以下内容放在.pro文件中:

    message(Plugins: $$[QT_INSTALL_PLUGINS])
    

2 个答案:

答案 0 :(得分:2)

  1. QT_INSTALL_PLUGINS是qmake的内置属性之一。 Qt 4.8中qmake的manual讨论了qmake的内置属性,但没有特别提到QT_INSTALL_PLUGINS。 Qt 5中qmake的manual显示了更长的内置属性列表,包括QT_INSTALL_PLUGINS。如果您查看qmake的source,您可以看到内置属性的值是通过调用QLibraryInfo :: location()(sourcedoc)来确定的。

  2. 可以在名为OUT_PWD的变量中找到构建目录的位置:OUT_PWD specifies the full path leading to the directory where qmake places the generated Makefile

  3. 您可以找到所有可用变量的文档here

答案 1 :(得分:0)

QT_INSTALL_PLUGINSqmake的持久属性。您可以使用

在命令行上打印其值
qmake -query QT_INSTALL_PLUGINS

要更改此位置,请使用qmake -set <property> <value>。输入qmake -help了解详情。