Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode qmake项目和Mac OS X SDK_Xcode_Macos_Qt_Qmake - Fatal编程技术网

Xcode qmake项目和Mac OS X SDK

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包本身

从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