28

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

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

我知道 Mac OS 是*nix-like OS,但是,我仍然想在 Linux 上有所作为。有没有办法做到这一点?


Ubuntu + Qt5.1

4

2 回答 2

40

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

macx {
    SOURCES += hellomac.cpp
}

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

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

macx: {
    SOURCES += hellomac.cpp
}
于 2013-08-27T10:54:45.947 回答
25

'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
}

麦克斯

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

在这里您可以找到源代码以获取有关未记录范围的更多信息:

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

于 2013-08-29T20:13:18.517 回答