質問

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を押してください。

私のシミュレーターはその後魔法のように働き始めました。エラーはありませんが、コンパイラの変更により多くの警告があります。

これがこの問題に遭遇する他の人に役立つことを願っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top