1

我刚刚从 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 用于架构。我只收到模拟器的这个错误,设备的构建完成。

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

4

1 回答 1

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。点击确定。

在那之后,我的模拟器开始神奇地工作。没有错误,尽管由于编译器的更改而出现大量警告。

希望这对遇到此问题的其他人有所帮助。

于 2011-10-25T14:53:11.803 回答