$$[[=10=]] 在 Qt 功能配置 (.prf) 文件中做什么?
What does $$[QT_HOST_DATA/get] do in a Qt Feature configuration (.prf) file?
功能配置 (.prf
) 文件中的以下语法在哪里使用?定义:
$$[QT_HOST_DATA/get]
我知道 $$[ ... ]
是访问 QMake 属性,如 Qt 文档中所述,但是 $$[QT_HOST_DATA/get]
中符号的 /get 部分在哪里阐明?它究竟有什么作用?
此外,在 Qt .conf
文件中,include
(对于其他 .conf
文件)和 load()(对于 .prf
文件)有什么区别?
如果 include(some.conf)
仅包含 some.conf
的内容,按字面意思粘贴到包含的 .conf
文件中,那么 load()
究竟做了什么?
我没有找到关于 .prf
文件结构的信息。
https://doc.qt.io/qt-5/qmake-advanced-usage.html 说您可以创建 .prf
文件,但没有说明这些文件是如何处理或应该如何构建的?
感谢您提供的任何说明!
where is the /get part of the notation in $$[QT_HOST_DATA/get] clarified? And what does it precisely do?
无处可去,除了 qmake 源代码。看起来所有 qmake 属性最多可以有四个特殊的 "subproperies": xxx/dev xxx/src xxx/raw xxx/get
。然而,它们的用途是一个谜。执行 qmake -query QT_HOST_DATA/get
产生(在我的机器上)与普通 $$[QT_HOST_DATA]
.
相同的值
I have found no info about the structure of .prf files.
基本上,.prf 就是 "system include file"。不过有两点:
- 所有 .prf 文件都位于
QMAKEFEATURES
变量指向的已知位置。
顺便说一句。 QMAKEFEATURES
是一种 "protected variable"。我仅在(另一个未记录的)cache()
函数的帮助下才设法更改它:
QMAKEFEATURES *= mydir # '*=' because of 3 passes under Windows
# 'transient' prevents creation file on disk
# only 'super' seems to work OK; no idea what's wrong with 'stash' or 'cache'
cache(QMAKEFEATURES, set transient super)
# now I can load .prf from <mydir> too...
- Prf 可以通过在
CONFIG
变量中提及它来隐式加载。例如,CONFIG += qt
(顺便说一下,这是默认值。)导致包含 <SomePrefix>/share/qt5/mkspecs/features/qt.prf
请注意,这是在处理整个 .pro 之后发生的,因此 .prf 文件可用于 post-处理用户选项。
what does load() do exactly?
就是include()
专门为.prf设计的版本。它所做的只是包含 .prf 文件。但是,与 CONFIG += xxx
不同,它会立即执行此操作,并且与普通 include()
不同,您不应指定路径和扩展名。
功能配置 (.prf
) 文件中的以下语法在哪里使用?定义:
$$[QT_HOST_DATA/get]
我知道 $$[ ... ]
是访问 QMake 属性,如 Qt 文档中所述,但是 $$[QT_HOST_DATA/get]
中符号的 /get 部分在哪里阐明?它究竟有什么作用?
此外,在 Qt .conf
文件中,include
(对于其他 .conf
文件)和 load()(对于 .prf
文件)有什么区别?
如果 include(some.conf)
仅包含 some.conf
的内容,按字面意思粘贴到包含的 .conf
文件中,那么 load()
究竟做了什么?
我没有找到关于 .prf
文件结构的信息。
https://doc.qt.io/qt-5/qmake-advanced-usage.html 说您可以创建 .prf
文件,但没有说明这些文件是如何处理或应该如何构建的?
感谢您提供的任何说明!
where is the /get part of the notation in $$[QT_HOST_DATA/get] clarified? And what does it precisely do?
无处可去,除了 qmake 源代码。看起来所有 qmake 属性最多可以有四个特殊的 "subproperies": xxx/dev xxx/src xxx/raw xxx/get
。然而,它们的用途是一个谜。执行 qmake -query QT_HOST_DATA/get
产生(在我的机器上)与普通 $$[QT_HOST_DATA]
.
I have found no info about the structure of .prf files.
基本上,.prf 就是 "system include file"。不过有两点:
- 所有 .prf 文件都位于
QMAKEFEATURES
变量指向的已知位置。
顺便说一句。 QMAKEFEATURES
是一种 "protected variable"。我仅在(另一个未记录的)cache()
函数的帮助下才设法更改它:
QMAKEFEATURES *= mydir # '*=' because of 3 passes under Windows
# 'transient' prevents creation file on disk
# only 'super' seems to work OK; no idea what's wrong with 'stash' or 'cache'
cache(QMAKEFEATURES, set transient super)
# now I can load .prf from <mydir> too...
- Prf 可以通过在
CONFIG
变量中提及它来隐式加载。例如,CONFIG += qt
(顺便说一下,这是默认值。)导致包含<SomePrefix>/share/qt5/mkspecs/features/qt.prf
请注意,这是在处理整个 .pro 之后发生的,因此 .prf 文件可用于 post-处理用户选项。
what does load() do exactly?
就是include()
专门为.prf设计的版本。它所做的只是包含 .prf 文件。但是,与 CONFIG += xxx
不同,它会立即执行此操作,并且与普通 include()
不同,您不应指定路径和扩展名。