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

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


当前回答

如果你正在使用,并认为这可能是你的豆荚,试试这个:

pod deintegrate
pod install

其他回答

从其他链接标志中删除-all_load。它对我的项目有效

确保你没有导入[ViewController。M]而不是头文件

#import "ViewController.m"

当你在不同的类中声明同名的const变量时也会发生:

Message.m文件

const int kMessageLength = 36;

@implementation Message

@end

在文件Chat.m

const int kMessageLength = 20;

@implementation Chat

@end

当我在头文件中而不是在.cpp文件中使用范围解析操作符实现类方法时,发生了这个错误。

PS:我在Macbook Yosemite上用c++编程。

另一个会导致此错误的愚蠢错误是重复文件。我不小心复制了一些文件两次。首先我去了目标->构建阶段->编译源代码。在那里,我注意到列表上的一些文件两次以及它们的位置。