2012-01-21 8 views
1

私はjson-frameworkを追加した既存のアプリケーションを持っています。今度は、重複するシンボルリンカエラーのためにコンパイルされません。重複するシンボルリンカーエラー

エラーは、json-frameworkにリンクしているMillenial Media広告ネットワークSDKがインストールされているために発生しているようです。 JSONフレームワークは、MMのスタティックライブラリファイルに既に埋め込まれている必要があります。 SDKを追加しないと、自分のコードでjson-frameworkをインポートすることはできませんが、コンパイラはこの例外を発生させます。

LD:シンボルを複製_OBJC_IVAR _ $ _ /users/laptop/Developer/sandbox/testapp_sources_add_owntracking/testapp/AdNetworkLibs/MillenialMedia/libMMSDK.a(SBJsonParser.oでSBJsonParser.maxDepth)および/ユーザ/ラップトップ/ライブラリ/開発者i386アーキテクチャ collect2は用/Xcode/DerivedData/testapp-bjxtaanqoewrondmjnucarxebkka/Build/Intermediates/testapp.build/Debug-iphonesimulator/testapp.build/Objects-normal/i386/SBJsonParser.o:ldは1つの終了ステータスを返した

答えて

4

jsonクラスの実装ファイルを追加せずにjsonフレームワークヘッダーファイルを追加できます。これらのクラスが別のライブラリにある場合、それらのクラスはそのライブラリにリンクされます。

+1

チャンピオンの答え! .mの実装ファイルを削除し、.hヘッダファイルを保存しました。今コンパイルされ、私のコードはjsonクラスにアクセスできます。 ありがとう! – Spanner

0

プロジェクトではSBJsonParsorが2回追加されています。

あなたが使用している(プロジェクトに追加されている)ライブラリの一部がすでにSBJsonParsorを持っていて、同じことについて積極的な知識がないと追加されている可能性があります。

プロジェクト階層をチェックし、参照の1つを削除する必要があります。

+0

私が追加したjson-frameworkクラスを削除した場合、それらのクラスにアクセスすることができません。これは、これらのクラスの最初のインスタンスがMillenial Mediaの.aファイルに含まれているように見えるためです。 私の質問は、私のコードでjson-frameworkクラスを使う方法です。 .aファイル内に既にあるクラスにアクセスすることはできますか?また、これらのクラスをどのように追加して使用できますか? – Spanner