我正在构建一个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的情况下构建的
任何帮助都会非常感激!!
答案 0 :(得分:7)
按照指令将ThirdPartyLibs拖动到我的项目时,我遇到了同样的错误。它已将FBConnect和FacebookSDK添加到我的项目中。
如果打开库附带的AddThisDemo项目,您将看到仅添加了FacebookSDK和DeprecatedHeaders(而不是整个FBConnect)。我在我的项目中重新创建了这个结构,这解决了我的问题。
希望有所帮助!
答案 1 :(得分:3)
对于有这个问题但是这些答案没有帮助的人:如果你创建了一个自定义类并将其命名为Facebook.h / .m,只需更改其名称,然后不再出现链接错误。
答案 2 :(得分:0)
您的某个文件中有一个#import "facebook.m"
,您应该放置#import "facebook.h"
。