Xcode qmake项目和Mac OS X SDK
从Qt项目中使用Mac OS SDK最明智的方式是什么?您需要有到基本SDK(MacOSX10.X.SDK)的路径、到您需要的头的路径,并指示您正在使用的框架 目前,我正在我的pro文件中执行此操作(在此处的帮助下;): SDK在Xcode应用程序包中,这到底是怎么回事?我想知道是否存在存储SDK路径的环境变量。另外,切换SDK版本时,我必须选择MAC_SDK路径,并将10.7更改为其他版本,这是最好的方法吗?最新版本的Xcode(我认为是4.4以后的版本)现在将所有内容都保存在Xcode包本身中,而不是以前说的Xcode qmake项目和Mac OS X SDK,xcode,macos,qt,qmake,Xcode,Macos,Qt,Qmake,从Qt项目中使用Mac OS SDK最明智的方式是什么?您需要有到基本SDK(MacOSX10.X.SDK)的路径、到您需要的头的路径,并指示您正在使用的框架 目前,我正在我的pro文件中执行此操作(在此处的帮助下;): SDK在Xcode应用程序包中,这到底是怎么回事?我想知道是否存在存储SDK路径的环境变量。另外,切换SDK版本时,我必须选择MAC_SDK路径,并将10.7更改为其他版本,这是最好的方法吗?最新版本的Xcode(我认为是4.4以后的版本)现在将所有内容都保存在Xcode包本身
/Developer
。其他工具和应用程序是单独下载的
除了使用Xcode(特别是xcodebuild)查询SDK之外,不知道任何环境变量
我使用了与您在qmake项目中选择和使用SDK相同的方法。通常,您使用最新的SDK进行开发,该SDK不会经常更改。您可能想要或需要使用一个操作系统(=>SDK),因此会使用-mmacosx version min=10.X
编译器选项来声明这一点。最新版本的Xcode(我认为是4.4以后的版本)现在将所有内容都保存在Xcode包本身中,而不是以前说的/Developer
。其他工具和应用程序是单独下载的
除了使用Xcode(特别是xcodebuild)查询SDK之外,不知道任何环境变量
我使用了与您在qmake项目中选择和使用SDK相同的方法。通常,您使用最新的SDK进行开发,该SDK不会经常更改。您可能想要或需要一个操作系统(=>SDK),因此会使用
-mmacosx version min=10.X
编译器选项来断言此选项。您不应该手动设置SDK的路径,它是在编译时自动设置的。只需使用您需要的框架。这就是我能做的一切:INCLUDEPATH+=$$QMAKE\u MAC\u SDK/System/Library/Frameworks/CoreFoundation.framework/Headers DEPENDPATH+=$$QMAKE\u MAC\u SDK/System/Library/CoreFoundation.framework/Headers LIBS+=-framework corefoundations更好,但我仍然不确定您是否真的需要添加框架路径,因为它应该由qmake自动添加。您不应该手动设置SDK的路径,它是在编译时自动设置的。只需使用您需要的框架。这就是我能做的一切:INCLUDEPATH+=$$QMAKE\u MAC\u SDK/System/Library/Frameworks/CoreFoundation.framework/Headers DEPENDPATH+=$$QMAKE\u MAC\u SDK/System/Library/CoreFoundation.framework/Headers LIBS+=-framework corefoundations更好,但我仍然不确定您是否真的需要添加框架路径,因为它应该由qmake自动添加。
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