LLVM 2.0无法为iPhone模拟器构建。 GCC 4.2工作正常

时间:2010-09-03 14:49:29

标签: iphone xcode gcc llvm xcode4

当我构建我的项目(任何项目,真的 - 我尝试创建一个具有相同结果的新空项目)时,它可以在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中的CoreGraphics中。

以下是WebView.h中的示例错误:

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

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

嗅探

4 个答案:

答案 0 :(得分:7)

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

尝试在Build Settings Preprocessor Mac:

中放置一行代码
-D__IPHONE_OS_VERSION_MIN_REQUIRED=040100 

-D__IPHONE_OS_VERSION_MIN_REQUIRED=030103

答案 1 :(得分:0)

听起来我觉得你的装置很安全。

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

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

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

答案 2 :(得分:0)

XCode 3.2.5会不会出现此问题?

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

答案 3 :(得分:-1)

在不违反NDA(Xcode 4是预发布软件)的情况下,我建议您阅读Apple Developer论坛中的this thread