我从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构建问题?
...谢谢
答案 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构建更新。