1

RestKitからJSON解析を使用しようとしていますが、次のコンパイル時エラーが発生します。

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

RestKitは問題なく動作します。これは、これまでに見た唯一のエラーです。これは私のインポートラインです:

#import <RestKit/Support/JSON/JSONKit/RKJSONParserJSONKit.h> 

編集:奇妙なことに、次のようなパーサーを作成しようとした場合にのみコンパイルに失敗します:

 RKJSONParserJSONKit *parser = [RKJSONParserJSONKit new];

この行をコメントアウトするとコンパイルが可能になりますが、パーサーをインスタンス化する必要があります。

このエラーを修正するにはどうすればよいですか?ありがとうございました。

4

1 に答える 1

2

インポートとは、ソースコードがAPIを認識できることを意味します。したがって、IDEはオートコンプリートの方法を認識し、コンパイラは適切なオブジェクトコードの生成方法を認識します。

リンカーエラーがあります。独自のコードをコンパイルしたら、依存しているすべてのコードと一緒にバンドルする必要があります(動的にリンクされたシステムライブラリはカウントされません)。あなたのリンカーは、それが見つけることができるすべてのものをバンドルした後、すべてがそこにあるわけではないとあなたに言っています。

作成するターゲットに移動し、[ビルドフェーズ]タブを選択して、必要なライブラリを[バイナリとライブラリのリンク]セクションに追加する必要があります。

于 2011-10-25T14:17:00.460 に答える