2011-11-13 18 views
6

でエラーをコンパイル、私が手にエラーがある:libobjc.A.dylibは私が実際にそれを把握することはできませんiOSシミュレータ4.3でコンパイルエラーを抱えているのiOS 4.3

dyld: lazy symbol binding failed: Symbol not found: _objc_retain 
    Referenced from: /Users/ben/Library/Application Support/iPhone Simulator/4.3.2/Applications/75915A97-7C3D-489A-B7B0-7B6895A4B584/AppName.app/AppName 
    Expected in: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib/libobjc.A.dylib 

dyld: Symbol not found: _objc_retain 
    Referenced from: /Users/ben/Library/Application Support/iPhone Simulator/4.3.2/Applications/75915A97-7C3D-489A-B7B0-7B6895A4B584/AppName.app/AppName 
    Expected in: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib/libobjc.A.dylib 

注:
参照されているライブラリ(libobjc.A.dylib)は実際に 'Expected Place'にあります コードはiOS5デバイスとiOS5シミュレータで正常に動作します。

+0

を追加-fobjc-arc

  • を追加しますか?あなたの質問は[これの複製?](http://stackoverflow.com/questions/7423489/objective-c-arc-errors-automatic-release-problems) –

  • +0

    ARCを使用していない、プロジェクトは複雑すぎるそれをオン。 – oberbaum

    +0

    このシンボルは4.3 libにはありません、誰がこれを要求しているのだろうか。両方のディレクトリに行き、 'nm libobjc.A.dylib | grep retain'を実行すると、4.3では_SEL_retainというシンボルが1つしか表示されません。プロジェクトをきれいにして再構築しようとしましたか? –

    答えて

    28

    ビルド設定で-fobjc-arcを追加=>あなたはARCを使用するライブラリを使用して、古いiOSの上で実行 ビルド/したい場合、この問題が発生し、異なる構成

    +1

    プロジェクト全体に対してこの強制有効化アークがありませんか?弧を有効にしないというのはポイントではないのですか? – stigi

    +1

    いいえ、プロジェクト全体で強制しているわけではありません。 – mackross

    +4

    **コンパイラ**フラグではなく** linker **フラグとして使用するため、コンパイル時にARCに影響しません(リンク時のみ)。 – 0xced

    1

    のための他のリンカフラグ(OTHER_LDFLAGS) 4つのデバイス。

    ビルド設定で

    =>他のリンカフラグ

    • まだ解決しない場合は、あなたがこのプロジェクトでARCを使用しています-weak_library /usr/lib/libobjc.A.dylib
    関連する問題