我现在也有同样的问题,但还没有找到正确的答案。我得到了错误:

    /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Intermediates/TestMoboSDK-Client.build/Debug-iphonesimulator/TestMoboSDK-Client.build/Objects-normal/x86_64/MoboSDK.o
    /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Products/Debug-iphonesimulator/libMoboSDK.a(MoboSDK.o)
duplicate symbol _OBJC_METACLASS_$_MoboSDK in:
    /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Intermediates/TestMoboSDK-Client.build/Debug-iphonesimulator/TestMoboSDK-Client.build/Objects-normal/x86_64/MoboSDK.o
    /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Products/Debug-iphonesimulator/libMoboSDK.a(MoboSDK.o)
ld: 75 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

任何帮助都是感激的。

最后,我找到了这个错误的原因,因为我添加了-ObjC到其他链接器标志。在删除这个值之后,我可以成功地构建我的项目,但我不知道为什么。有人能解释一下吗?


当前回答

有时候,当你导入错误的文件时,就会发生这种情况,比如for ex.:

进口“MenuItem.m”

而不是

进口“MenuItem.h”

这将抛出体系结构x86_64的重复错误

其他回答

在多个类中在@implementation下定义相同的变量也会导致这个问题。

寻找目标 选择生成设置 搜索“No Common Blocks”,选择为“No”。

这对我很有效

架构x86_64的75个重复符号

意味着您已经加载了相同的函数两次。 当从其他链接标志中删除-ObjC后,问题消失了, 这意味着这个选项的结果是函数加载两次:

来自技术问答

这个标志使链接器加载库中的每个对象文件 它定义了一个Objective-C类或类别。而这个选项 通常会导致更大的可执行文件(由于额外的目标代码) 加载到应用程序中),它将允许成功创建 有效的包含类别的Objective-C静态库 现有的类。

https://developer.apple.com/library/content/qa/qa1490/_index.html

在XCode中打开你的项目

您将看到侧边栏现在聚焦于所附的图像。

搜索你遇到问题的特定SDK或任何重复文件。

您将看到您已经添加了任何文件两次。

删除那个文件,你的问题就解决了。

注意:您必须将文件从您错误添加的位置删除。

例如

注意:只需从框架中删除FBSDKCoreKit即可

祝你好运

请检查您添加的pod和Libraries。应该有一个或多个库是重复的。请把它从一边移开。我会解决这个问题。受影响的库将在x-code错误消息详细信息中列出。