где разъясняется часть / get части нотации в $$ [QT_HOST_DATA / get]?И что это точно делает?
Нигде, кроме исходного кода qmake.Похоже, что все свойства qmake могут иметь до четырех специальных «подпроцессов»: xxx/dev xxx/src xxx/raw xxx/get
.Однако, для чего они используются - загадка.Выполнение qmake -query QT_HOST_DATA/get
дает (на моей машине) то же значение, что и обычное $$[QT_HOST_DATA]
.
Я не нашел никакой информации о структуре файлов .prf.
По сути, .prf - это просто «системный файл включения».Однако есть две точки:
- Все файлы .prf находятся в известном месте (ах), указанном переменной
QMAKEFEATURES
.
Кстати.QMAKEFEATURES
является своего рода «защищенной переменной».Мне удалось изменить его только с помощью (еще одной недокументированной) функции 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 можно использовать для последующей обработки пользовательских параметров.
что именно делает load ()?
Это просто версия include()
, разработанная специально для .prf.Все, что он делает, это просто включает .prf файл.Но, в отличие от CONFIG += xxx
, он делает это немедленно, и, в отличие от простого include()
, вы не должны указывать путь и расширение.