架构i386的格式错误的元数据记录

时间:2011-10-18 15:36:14

标签: iphone xcode4.2

我刚刚从Xcode 4升级到Xcode 4.2,现在我在为模拟器构建时出现以下错误:

ld: in /Users/rstaicut/Library/Developer/Xcode/DerivedData/iphone/Build/Intermediates/iphone.build/QA Server-iphonesimulator/Project iPhone Debug.build/Objects-normal/i386/CartController.o, could not parse object file 

/Users/rstaicut/Library/Developer/Xcode/DerivedData/iphone/Build/Intermediates/iphone.build/QA Server-iphonesimulator/Project iPhone Debug.build/Objects-normal/i386/CartController.o: 

**Malformed metadata record for architecture i386**
**Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2 failed with exit code 1**

需要注意的一点是,我已将编译器更改为LLVM GCC 4.2以进行此升级,并且我使用armv6和armv7作为体系结构。我只是为模拟器收到此错误,该设备的构建完成。

任何想法错误的元数据记录可能意味着什么?

1 个答案:

答案 0 :(得分:1)

让模拟器终于奏效了。这些是我改变的事情:

  • 在项目>下构建设置>架构>有效的架构我拿出了i386并且只留下了armv6和armv7。在架构下我只有armv6和armv7

  • 我将编译器从LLVM GCC 4.2更改为Apple LLVM编译器3.0(在Project> Build Settings> Build Options> Compiler for C / C ++ / Objective-C

  • 将iOS部署目标从iOS 3.1更改为iOS 4.0

  • 最后一步是按“验证设置”(底部中间的按钮)。它会要求您将编译器的某些设置从LLVM GCC更改为Apple LLVM Compiler 3.0。点击确定。

我的模拟器在此之后开始神奇地工作。没有错误,尽管由于编译器的改变而引发了大量警告。

希望这有助于遇到此问题的其他任何人。