如何在qmake中指定Mac平台(QtCreator)

时间:2013-08-27 10:01:35

标签: macos qt qt4 qt5 qmake

我想通过QtCreator在pro文件中为Mac OS设置一些配置。我阅读了该文档,发现它支持Windows和Unix,如下所示,

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

我理解Mac OS是类似nix的操作系统,但是,我仍然希望与Linux有所不同。有没有办法做到这一点?


Ubuntu + Qt5.1

2 个答案:

答案 0 :(得分:29)

您可以通过以下方式检测Mac OS X:

macx {
    SOURCES += hellomac.cpp
}

但是为了与Linux有所不同,你宁愿指定

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

macx: {
    SOURCES += hellomac.cpp
}

答案 1 :(得分:20)

'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