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

    /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到其他链接器标志。在删除这个值之后,我可以成功地构建我的项目,但我不知道为什么。有人能解释一下吗?


当前回答

在我的情况下,我把构建系统改为遗留系统,它工作了。

您可以在菜单中访问此选项:

文件>工作空间设置>构建系统

其他回答

在Xcode 6.3.2中。我检查了所有的可能性如下

1:我还没有导入。m文件在我的项目。

2:从其他链接标志中删除-ObjC。

3:删除了我所有的衍生数据。

我仍然得到同样的错误。我通过从.pch文件中删除任何变量声明来消除这个错误。在我的情况下,我在.pch文件中声明了AppDelegate对象。最后我找到了导致错误的原因。因此,我从.pch文件和我的项目工作魅力中删除任何变量的声明。

我在Xcode 14中遇到了同样的问题。清理构建文件夹对我来说很有效。

从“产品”菜单中选择“清洁构建文件夹”选项。

如果你来这里是为了一个React Native项目,那么请点击下面的链接,

Targets -> <Your-App> -> Build Settings -> Dead Code Stripping

调试时从No更改为Yes。

附注:这种方法适用于React Native项目,不确定它是否也适用于本地项目。

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

进口“MenuItem.m”

而不是

进口“MenuItem.h”

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

我希望它一定会对你有所帮助

我得到相同的错误3重复符号的架构x86_64

在我的情况下,我从同一项目的另一个文件复制了代码。代码的a.m.文件到B.m和编译后,我得到了一个错误提到。我已经解决了通过改变全局变量的名称的错误。

这个错误出现在我的情况下,因为在两个文件中相同的声明全局变量。