Подтвердить что ты не робот

Как указать платформу Mac в qmake (QtCreator)

Я хотел бы установить некоторые конфигурации для Mac OS в файле pro через QtCreator. Я прочитал документ и нашел, что он поддерживает Windows и Unix, например,

 win32 {
     SOURCES += hellowin.cpp
 }
 unix {
     SOURCES += hellounix.cpp
 }

Я понимаю, что Mac OS - это * nix-подобная ОС, однако я все же хочу различать Linux. Есть ли способ сделать это?


Ubuntu + Qt5.1

4b9b3361

Ответ 1

Вы можете обнаружить Mac OS X следующим образом:

macx {
    SOURCES += hellomac.cpp
}

Но чтобы иметь значение с Linux, вы бы хотели указать

unix:!macx {
    SOURCES += hellolinux.cpp
}

macx: {
    SOURCES += hellomac.cpp
}

Ответ 2

'mac': он применяется как к Mac OS X, так и к iOS

'macx': он специфичен для Mac OS X.

Итак, если вы хотите позже включить поддержку iOS или просто быть гибким (а почему бы и нет?), вам лучше использовать "mac". Иначе идем к последнему. Поэтому вам понадобится любой из них.

Здесь вы можете найти официальную документацию:

http://qt-project.org/doc/qt-5.1/qmake/qmake-language.html#platform-scope-values

Вот варианты, которые могут вам понадобиться на основе вашего конкретного варианта использования.

mac (включая поддержку iOS)

win32 {
    SOURCES += hellolinux.cpp
} mac {
    SOURCES += hellomac.cpp
}

MacX

win32 {
    SOURCES += hellolinux.cpp
} macx {
    SOURCES += hellomacx.cpp
}

Здесь вы можете найти исходный код для поиска дополнительной информации о недокументированных областях:

http://qt.gitorious.org/qt/qtbase/source/730bc064a070e886e10950ccfd59780e8976f5fd:mkspecs