xcode 4.5,iOS 6.0 SDK编译错误 - base.h

时间:2012-09-24 20:57:46

标签: ios xcode4.5 llvm-gcc ios6

我从xcode 4.4.3升级到4.5,无法再构建我们的应用程序。我在iOS 6.0 SDK base.h中收到以下编译错误:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/include/dispatch/base.h:103:44:错误:之前缺少二元运算符令牌“(”

我立即尝试恢复到iOS 5.1.1 SDK,发现我做不到。我去了Xcode-> preferences->下载,但没有以前的SDK版本可供安装..只有模拟器和命令行工具。

我们的一位开发人员发现从LLVM GCC 4.2恢复到Apple LLVM编译器4.1解决了编译问题..

但似乎我必须下载以前版本的xcode 4.4.3才能获得iOS 5.1.1 SDK。

是否有人在xcode 4.5下安装了iOS 5.1.1 sdk?

有没有人遇到iOS 6.0 SDK构建问题?

...谢谢

3 个答案:

答案 0 :(得分:1)

我遇到与LLVM GCC 4.2相同的错误。

base.h包含在dispatch / dispatch.h中,我需要更改包含的文件。 我发现源文件应该是Objective C(或C ++)文件。不是C(或C ++)文件。

两种解决方案。 1.将文件扩展名从cpp更改为m或mm。 2.将文件类型更改为XCode的Identity和Utility区域的“Objective C”或“Objective C ++”。

答案 1 :(得分:0)

我经历过,当我在SDK 6.0上构建应用程序时,我的一些视图控制器只显示了屏幕的一半。设备是否安装了iOS 5或6并不重要。似乎该问题是由用于构建的SDK引起的。

答案 2 :(得分:0)

我遇到各种各样的问题,从4.3.2 IOS5.1到4.5 IOS6.0。梦魇。

请参阅我的帖子:

IOS 6.0 xcode 4.5 compilation errors #import code held in files outside of the class

当我明天开始工作时,我将删除所有框架,重新添加它们。

此外,检查Github以查看我的某些第三方对象是否已为IOS6构建更新。