Значения компилятор в qmake
qmake предоставляет несколько встроенных областей платформы, позволяя файлу проекта выполнять различные операции в зависимости от текущей платформы:
win32 {
...
}
unix {
...
}
все спецификации платформы в mkspecs
каталог также может использоваться для тестирования различных комбинаций платформы / компилятора, например
linux-g++ {
...
}
win32-g++ {
...
}
win32-msvc2003 {
...
}
однако я не могу найти способ проверить только компилятор (без ОС)
#This does not work
g++ {
...
}
msvc {
...
}
есть ли способ сделать это без необходимости перечислять все комбинации (linux-g++ | win32-g++ | cygwin-g++ | ... {}
)? Если это невозможно, есть ли веская причина?
2 ответов
эти сборки в области платформы на основе qmake spec в каталоге установки Qt. Способ разрешения областей платформы не документирован, но кажется, что qmake внутренне использует regexes чтобы определить, применяется ли область к текущему mkspecs
.
только шаблоны включено (ie ?
, *
, []
)
обратите внимание, что внутри qmake unix
,win32
, macx
есть несколько смыслов, как волшебные ключевые слова, и как регулярные выражения, чтобы соответствовать.