質問
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**
注意すべきことの1つは、このアップグレードのためにコンパイラをLLVM GCC 4.2に変更し、アーキテクチャにARMV6とARMV7を使用していることです。シミュレーターのこのエラーのみが取得されているだけで、ビルドはデバイスに仕上げられています。
不正なメタデータレコードが意味する可能性のあるアイデアはありますか?
解決
シミュレーターを最終的に動作させました。これらは私が変えたものです:
プロジェクト]> [ビルド設定]> [構築]> [アーキテクチャ]> [有効なアーキテクチャ] I386を取り出し、ARMV6とARMV7のみを残しました。アーキテクチャの下では、ARMV6とARMV7のみがあります
コンパイラをLLVM GCC 4.2からApple LLVMコンパイラ3.0に変更しました(プロジェクト>ビルド設定> Build Options> CONC ++/OBGINIVE-Cのコンパイラ
iOS展開ターゲットをiOS 3.1からiOS4.0に変更しました
最後のステップは、「設定の検証」(下部の中央のボタン)を押すことでした。コンパイラのいくつかの設定をLLVM GCCからApple LLVMコンパイラ3.0に変更するように依頼します。 OKを押してください。
私のシミュレーターはその後魔法のように働き始めました。エラーはありませんが、コンパイラの変更により多くの警告があります。
これがこの問題に遭遇する他の人に役立つことを願っています。
所属していません StackOverflow