2

我正在构建一个 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 的情况下构建的

任何帮助将非常感激!!

4

3 回答 3

7

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

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

希望有帮助!

于 2012-09-19T13:44:26.187 回答
3

对于遇到此问题但这些答案无济于事的任何人:如果您创建了一个自定义类并将其命名为 Facebook.h/.m,只需更改其名称并在其后更改,就不会再出现链接错误。

于 2013-07-23T15:28:01.460 回答
0

你有一个#import "facebook.m"文件,你应该把#import "facebook.h".

于 2012-09-10T16:12:50.347 回答