【问题标题】:LLVM 2.0 can't build for iPhone simulator. GCC 4.2 works fineLLVM 2.0 无法为 iPhone 模拟器构建。 GCC 4.2 工作正常
【发布时间】:2011-04-07 21:42:52
【问题描述】:

当我构建我的项目时(任何项目,真的 - 我尝试创建一个具有相同结果的新空项目),它在 Xcode4 或 Xcode 3.2.4 下使用 GCC 4.2 构建良好。

如果我在 Xcode4 下使用 LLVM 2.0 或在 Xcode3 下使用 LLVM 1.5 构建,我会遇到编译时构建失败,但仅在为模拟器构建时

我在 LLVM 下遇到的构建错误都在我无法控制的标头中,例如 UIKit 中的 UIView.h、UIDevice.h、UIApplication.h、UITextView.h 和 UIWebView.h 以及 CGPDFContext.h核心图形。

这是一个错误示例,在 WebView.h 中:

@property(nonatomic) UIDataDetectorTypes dataDetectorTypes __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_3_0);   //<--- Unknown type 'UIDataDetectorTypes'

当 UIDataDetectorTypes 确实在包含在该文件中的 UIDataDetectors.h 中声明时。

嗅探

【问题讨论】:

  • 亚当,Xcode4 标签上的好电话。对此感到抱歉。

标签: iphone xcode gcc llvm xcode4


【解决方案1】:

可能是 Xcode 3.2.4 或 SDK 配置中的错误。

尝试在您的构建设置预处理器宏中放置类似以下之一的行:

-D__IPHONE_OS_VERSION_MIN_REQUIRED=040100 

-D__IPHONE_OS_VERSION_MIN_REQUIRED=030103

【讨论】:

  • 谢谢,解决了我刚刚下载 xcode 3.2.4 后遇到的问题
  • 谢谢!这对我也有用,但我必须删除 Xcode 中的 -D,所以它只是 __IPHONE_OS_VERSION_MIN_REQUIRED=040100
【解决方案2】:

在我看来,您的安装很糟糕。

当您安装 Xcode4 时,您是否确保将其安装到与现有 Xcode 安装完全不同的目录中?

它也可能与您的包含路径或类似的东西有关。我不太确定如何解决这个问题。

我建议备份任何自定义模板等并运行 Xcode 3.x 和 4 的卸载脚本,然后重新安装以查看是否可以解决问题。

【讨论】:

  • Xcode4 强制您安装到单独的目录。我会继续尝试卸载这两个,然后告诉你我发现了什么。
  • 嗯嗯。没有骰子。刚刚意识到这是自 Xcode 3.2.4 以来的一个新问题。我想我将不得不坚持在设备上进行测试,直到我有机会更好地弄清楚它。一旦我这样做,我会在这里发布。至少是模拟器不工作,而不是设备!
  • 嗯,那我不确定。对不起:(。祝你好运。
【解决方案3】:

XCode 3.2.5 是否仍然存在此问题?

只是好奇,因为我还没有下载它。

【讨论】:

  • 不,这个问题在我使用 LLVM 1.6 的 Xcode 3.2.5 中不再存在。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-14
  • 2015-09-27
  • 1970-01-01
  • 2018-04-08
  • 2015-06-28
  • 2016-06-04
  • 2011-10-20
相关资源
最近更新 更多