0

複数の静的ライブラリを使用するプロジェクトがあり、次のようなエラーが発生し続けます。

ld: duplicate symbol _deg2Rad in Frameworks/MyFramework.embeddedframework/
MyFramework.framework/MyFramework(MyFramework) and Frameworks/
MyFramework.embeddedframework/MyFramework.framework/MyFramework(MyFramework) for 
architecture armv7

Command /***/Development/Platforms/iPhoneOS.platform/Developer/
usr/bin/clang failed with exit code 1

エラーに記載されているライブラリと同様に、プロジェクトでも使用しているARCと関係があると思います。上記のライブラリはさらに、ARC を有効にしていない静的ライブラリを 1 つ使用しています。私の展開ターゲットは 4.3 です。ライブラリは iOS 5.0 に展開されます。

以前に 4.3 にライブラリをデプロイしましたが、_deg2Rad ではなく _objc_retainedObj で同様のエラーが発生しました。

どんな助けでも大歓迎です!誰かがこれを解決するのに役立つ他の情報は何ですか?

ありがとう

4

3 に答える 3

0

ほとんどの場合、静的ライブラリは同じ関数(つまり、deg2Rad)を使用しており、これを取得しています...

残念ながら、静的ライブラリを提供するものは、すべての機能をカスタムプレフィックスする必要がありますが、そうではないため、そのような状況に陥ります...

解決策は、彼らに連絡して、.hファイルによって公開される関数と変数にカスタムプレフィックスを付けるように依頼することです。

于 2011-10-17T14:28:22.437 に答える
0

コンパイラ フラグの構成に、あります-ObjC -all_loadか? それらをプロジェクトのターゲットに追加してみてください。次に、クリーニングして再構築します。私も時々その問題を抱えていましたが、それは通常、それらのフラグを忘れたためでした。

于 2011-10-17T14:07:04.207 に答える
0

フレームワークの検索パスを調整するのを忘れることも、フレームワークの構築で問題が発生するもう 1 つの理由です。

于 2011-11-12T15:26:38.640 に答える