4

iPhone アプリをコンパイルしてシミュレーターで実行しようとすると、未定義のシンボルに関するエラーが表示されます。これらのシンボルはすべて、私のプロジェクトに含まれていて欠落していないクラスに対応しています。

例:

"_OBJC_CLASS_$_SHKFacebook", referenced from:
      objc-class-ref in FooAppDelegate.o
      objc-class-ref in FooLandingPageViewController.o
      objc-class-ref in FooAppDelegate.o

しかし、SHKFacebook.h はプロジェクトから欠落していません。

何か案は?

ありがとう!

4

3 に答える 3

3

このプロジェクトには複数の Xcode ターゲットがあり、プロジェクトにファイルを追加したときに、それらを間違ったターゲットの下に追加して、ビルドしようとしていたターゲットに表示されないようにしました。

于 2012-06-06T20:35:56.930 に答える
1

SHKFaceBook.h はあなたのファイルですか、それともライブラリからのファイルですか?

ライブラリからの場合は、プロジェクト ターゲットをクリックして [Build Phases] タブを選択し、[Link Binary With Library] セクションを選択して、ライブラリが追加されていることを確認します。

SHKFaceBook.h がライブラリからのものではない場合、対応する .m ファイルが存在しない場合、.h ファイルが含まれているという事実は関係ありません。.m ファイルが既に XCode プロジェクトにある場合は、[Build Phases] タブから [Compile Sources] を選択し、必要なファイルがそこにあることを確認します。

参考までに、これはリンク エラーです。リンク エラーはコンパイル エラーとは異なります。ソース ファイルはヘッダーだけでコンパイルできますが、実際のコードなしではリンクおよびビルドできません。ヘッダー ファイルはコードではなく、コードの内容の記述に似ています。

于 2012-05-31T21:07:49.400 に答える
0

リンク先のライブラリは、i386 用ではなく、arm プラットフォーム用にのみコンパイルされているように思えます。ソースがある場合は、クリーン/再ビルドを試してみてください。

于 2012-05-31T20:18:58.287 に答える