1

QtプロジェクトからMacOSSDKを使用する最も賢明な方法は何ですか?ベースSDK(MacOSX10.X.sdk)へのパス、必要なヘッダーへのパス、および使用しているフレームワークを示すためのパスが必要です。

現在、私は自分のプロファイルでこれを行っています(ここからの助けを借りて; Qt、Qmake、Mac Os X SDK):

MAC_SDK  = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk
if( !exists( $$MAC_SDK) ) {
  error("The selected Mac OSX SDK does not exist at $$MAC_SDK!")
}
QMAKE_MAC_SDK = $$MAC_SDK

INCLUDEPATH += $$QMAKE_MAC_SDK/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers

DEPENDPATH  += $$QMAKE_MAC_SDK/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers

LIBS += -framework CoreFoundation

SDKはXcodeアプリバンドルに含まれていますが、一体何ですか?SDKへのパスを格納する環境変数があるかどうか疑問に思いました。また、SDKのバージョンを切り替えるには、MAC_SDKパスに移動し、10.7を別のものに変更する必要があります。これが最善の方法ですか?

4

1 に答える 1

1

Xcodeの最近のバージョン(4.4以降だと思います)は、/Developer以前のように、すべてをXcodeバンドル自体の中に保持するようになりました。その他のツールとアプリは個別にダウンロードできます。

SDK(特にxcodebuild)を使用してSDKをクエリする以外に、環境変数を認識していませんか?

qmakeプロジェクトでSDKを選択して使用するのと同じアプローチを使用しました。通常、それほど頻繁に変更されない最新のSDKを使用して開発します。OSの最小バージョン(=> SDK)が必要な場合や必要な場合があるため、-mmacosx-version-min=10.Xコンパイラオプションを使用してこれをアサートします。

于 2012-11-07T12:47:34.740 に答える