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

CCC*_*CCC 24 macos qt qmake qt4 qt5

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

 win32 {
     SOURCES += hellowin.cpp
 }
 unix {
     SOURCES += hellounix.cpp
 }
Run Code Online (Sandbox Code Playgroud)

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


Ubuntu + Qt5.1

Dmi*_*try 33

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

macx {
    SOURCES += hellomac.cpp
}
Run Code Online (Sandbox Code Playgroud)

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

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

macx: {
    SOURCES += hellomac.cpp
}
Run Code Online (Sandbox Code Playgroud)


lpa*_*app 22

'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
}
Run Code Online (Sandbox Code Playgroud)

MACX

win32 {
    SOURCES += hellolinux.cpp
} macx {
    SOURCES += hellomacx.cpp
}
Run Code Online (Sandbox Code Playgroud)

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

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