web-dev-qa-db-ja.com

qmake(QtCreator)でMacプラットフォームを指定する方法

QtCreator経由でproファイルにMac OSの設定をいくつか設定したいと思います。ドキュメントを読んだところ、次のようにWindowsとUnixをサポートしていることがわかりました。

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

Mac OSは* nixに似たOSであると理解していますが、それでもLinuxとの違いを作りたいと思っています。これを行う方法はありますか?


Ubuntu + Qt5.1

24
CCC

次の方法でMac OS Xを検出できます。

macx {
    SOURCES += hellomac.cpp
}

しかし、Linuxとの違いを生むには、次のように指定したい

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

macx: {
    SOURCES += hellomac.cpp
}
34
Dmitry

'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

23
lpapp