关于xcode:qmake项目和Mac OS X SDK

 2021-04-09 

qmake Projects and Mac OS X SDKs

在Qt项目中使用Mac OS SDK的最明智的方法是什么?您需要具有基本SDK(MacOSX10.X.sdk)的路径,所需标头的路径,并指出要使用的框架。

此刻,我正在我的pro文件中执行此操作(在这里提供帮助; Qt,Qmake和Mac Os X SDK):

1
2
3
4
5
6
7
8
9
10
11
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更改为其他名称,这是最好的方法吗?


Xcode的最新版本(我认为从4.4开始)现在将所有内容保留在Xcode包本身中,而不是以前说的/Developer。其他工具和应用程序是单独下载的。

除了使用Xcode(特别是xcodebuild)查询SDK之外,是否还没有任何环境变量?

我使用了与qmake项目中选择和使用SDK相同的方法。通常,您使用最新的SDK进行开发,而该SDK不会经常更改。您可能想要或需要最低版本的OS(=> SDK),因此将使用-mmacosx-version-min=10.X编译器选项来断言这一点。