Значения компилятор в 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 есть несколько смыслов, как волшебные ключевые слова, и как регулярные выражения, чтобы соответствовать.