0

同じプロジェクトで 2 つのライブラリを使用しています。1 つはキー "Other Linker Flags" を設定する必要があり、もう 1 つは必要ありません。

最初のライブラリを正しく実行するには、「Other Linker Flags」を「-ObjC」および「-all_load」に設定する必要があります。しかし、もしそうなら、2 番目のライブラリはコンパイルされたエラーに行きます:

ld: /Users/Applehouse/working/joshibu/svn/B_SOURCE/ProGir/ProGir/CCIAd/libCCIMobile-Release.a(TagParser.o) と /Users/Applehouse/working/joshibu/svn/B_SOURCE/ProGir でシンボル _parseAdvertizeTag を複製/ProGir/CCIAd/libCCIMobile-Debug.a(TagParser.o) for Architecture i386 clang: エラー: リンカー コマンドが終了コード 1 で失敗しました (呼び出しを確認するには -v を使用してください)

エラーは、フラグを設定した場合にのみ発生します。最初のライブラリを使用しない場合、「Other Linker Flags」の設定を値なしに設定すると、エラーは発生せず、2 番目のライブラリは適切に実行されます。

どうすれば修正できますか?

ありがとうございました。

4

2 に答える 2

3

エラーメッセージをよく見てください。ライブラリのデバッグ (libCCIMobile-Debug.a) バージョンとリリース (libCCIMobile-Release.a) バージョンの両方を同時にリンクしています。

デバッグ ビルドにはデバッグ バージョンのみをリンクし、リリース ビルドにはリリース バージョンのみをリンクします。

于 2012-06-04T03:26:54.013 に答える
0

1つのターゲットに2つのライブラリが含まれています。それは間違っています。

この2つのライブラリには、多くの同じ値があるためです。1つ目は_parseAdvertizeTagエラーです。

1つのターゲットで使用する必要があるのはlibCCIMobile-Release.aまたはlibCCIMobile-Debug.aのみです。

于 2012-06-04T04:53:18.300 に答える