5

ライブラリは Link with Binary Libraries 領域にあり、ヘッダー ファイルも含まれていますが、このエラーが発生します。

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_TestLibraryEric", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

シミュレーター用にビルドするとこのエラーが発生しますが、デバイス用ではありません。私はこの質問を反対の方法で見てきました。つまり、シミュレーター用にビルドされていますが、デバイス用ではありません。アクティブなアーキテクチャのみのビルドは NO に設定されています。

4

1 に答える 1

5

このエラーは、TestLibraryEricがデバイス (ARM アーキテクチャ用にコンパイル) 用にのみビルドされており、シミュレータ (i386 アーキテクチャ) 用ではないことを意味します。

ライブラリが自分で作成したものである場合は、ビルド設定を変更する必要があります。

フィールドでは、Supported Platforms持っている必要がありますiphoneos

を追加iphonesimulatorすると、デバイスとシミュレーターの両方に対してライブラリがビルドされます。

クリーンを実行し、ライブラリを再構築すると、うまくいくはずです。

于 2012-04-17T15:50:39.657 に答える