2

我从 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->downloads 但没有以前的 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 构建问题?

谢谢...

4

3 回答 3

1

我在使用 LLVM GCC 4.2 时遇到了同样的错误。

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

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

于 2012-12-12T06:12:29.157 回答
0

我遇到了从 4.3.2 IOS5.1 到 4.5 IOS6.0 的各种问题。恶梦。

见我的帖子:

IOS 6.0 xcode 4.5 编译错误#import 代码保存在类外的文件中

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

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

于 2012-09-27T21:33:27.420 回答
0

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

于 2012-09-26T13:43:02.510 回答