2

ARC iphoneアプリを作成していて、addThisiosライブラリを統合しようとしています。

次のエラーが発生します。

ld: duplicate symbol _OBJC_CLASS_$_Facebook in /Users/mars/Desktop/Pst/trunk/Pst/ThirdPartyLibs/FBConnect/FacebookSDK/FacebookSDK.framework/FacebookSDK(Facebook.o) and /Users/mars/Library/Developer/Xcode/DerivedData/Pst-bqmphjiqldalzsankfvxugsurcdj/Build/Intermediates/Pst.build/Debug-iphonesimulator/Pst.build/Objects-normal/i386/Facebook.o for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

コンパイルリソースを再確認しましたが、facebook.mが1つしかありません。

また、これらのライブラリファイルはARCなしでビルドされているため、これらのライブラリファイルのコンパイラフラグに「-fno-objc-arc」を追加しました。

どんな助けでも本当にありがたいです!

4

3 に答える 3

7

ThirdPartyLibsをプロジェクトにドラッグする手順に従うと、同じエラーが発生します。それは私のプロジェクトにFBConnectとFacebookSDKの両方を追加しました。

ライブラリに付属しているAddThisDemoプロジェクトを開くと、FacebookSDKとDeprecatedHeadersのみが追加されていることがわかります(FBConnect全体ではありません)。プロジェクトでこの構造を再作成しましたが、これで問題は解決しました。

お役に立てば幸いです。

于 2012-09-19T13:44:26.187 に答える
3

この問題を抱えているが、これらの答えは役に立たない人にとっては、1つのカスタムクラスを作成してFacebook.h / .mと呼んだ場合は、名前を変更するだけで、その後はリンクエラーは発生しません。

于 2013-07-23T15:28:01.460 に答える
0

あなたはあなた#import "facebook.m"が置くべきだったあなたのファイルの1つにを持っています#import "facebook.h"

于 2012-09-10T16:12:50.347 に答える