2014-10-30 49 views
0

以下是错误:苹果Mach-O的连接错误(重复的符号体系结构的ARMv7)

duplicate symbol _OBJC_METACLASS_$_BFAppLinkReturnToRefererView in: 
    /Users/User/Documents/FacebookSDK/FacebookSDK.framework/FacebookSDK(BFAppLinkReturnToRefererView.o) 
    /Users/User/Desktop/Project/Project/Project/Assets/Facebook/Editor/iOS/FacebookSDK/FacebookSDK.a(BFAppLinkReturnToRefererView.o) 
ld: 889 duplicate symbols for architecture armv7 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

我已搜查发现这个错误的解决方案,但我不能。类似这样的错误有很多,但这个问题还没有被某人问过。当我将“-ObjC”添加到“其他链接器标志”时,会出现此问题。我需要添加它才能使用Admob服务。可能是什么问题呢?我该如何解决这个问题?

+0

找到包含该类的库('BFAppLinkReturnToRefererView'),并将其从库中移除以进行链接。问题是多个目标文件提供了相同的类。使用'-ObjC'非常危险,你可能想调查'-force_load'。有关详细信息,请参阅[我的问题](http://stackoverflow.com/questions/25889914/can-the-objc-flag-be-applied-selectively-to-static-libraries)。 – trojanfoe 2014-10-30 14:53:25

+0

我试图找到'BFAppLinkReturnToRefererView',但我不能。图书馆没有这样的课。我尝试使用'-force_load',但是我得到这个错误'-stdlib = libstdC++'接下来我需要做什么? 感谢您的帮助。 – bekiryanik 2014-10-30 15:30:07

+0

我发现这个文件'BFAppLinkReturnToRefererView'并将其删除。还是同样的问题。 :) – bekiryanik 2014-10-30 15:51:55

回答

0

我在集成Facebook-ios-sdk时遇到同样的问题。这是因为我正在使用另一个第三方库,其中也有Bolts.framework链接。我找到的解决方案是将来自托管在Github上的源代码的facebook-ios-sdk合并。 链接:https://github.com/facebook/facebook-ios-sdk 在您的系统上克隆此回购并在src目录中打开facebook-ios-sdk.xcodeproj,构建阶段选项卡,并将'必需'字段更改为'可选'。从脚本目录运行脚本build_framework.sh,将新创建的来自build目录的FacebookSDK.framework集成到您的项目中。

任何其他此类冲突框架错误都可以遵循相同的过程。

相关问题