重复符号_OBJC_CLASS _ $ _ Facebook

时间:2012-09-10 12:59:10

标签: objective-c addthis

我正在构建一个ARC iphone应用程序,并即将集成addThis ios库。

我收到以下错误:

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)

我用我的编译资源进行了双重检查,只有1个facebook.m存在。

我还在这些库文件的编译器标志中加入了“-fno-objc-arc”,因为它们是在没有ARC的情况下构建的

任何帮助都会非常感激!!

3 个答案:

答案 0 :(得分:7)

按照指令将ThirdPartyLibs拖动到我的项目时,我遇到了同样的错误。它已将FBConnect和FacebookSDK添加到我的项目中。

如果打开库附带的AddThisDemo项目,您将看到仅添加了FacebookSDK和DeprecatedHeaders(而不是整个FBConnect)。我在我的项目中重新创建了这个结构,这解决了我的问题。

希望有所帮助!

答案 1 :(得分:3)

对于有这个问题但是这些答案没有帮助的人:如果你创建了一个自定义类并将其命名为Facebook.h / .m,只需更改其名称,然后不再出现链接错误。

答案 2 :(得分:0)

您的某个文件中有一个#import "facebook.m",您应该放置#import "facebook.h"