我刚刚从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作为体系结构。我只是为模拟器收到此错误,该设备的构建完成。
任何想法错误的元数据记录可能意味着什么?
答案 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。点击确定。
我的模拟器在此之后开始神奇地工作。没有错误,尽管由于编译器的改变而引发了大量警告。
希望这有助于遇到此问题的其他任何人。