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

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


当前回答

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

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

其他回答

当我将lob项目集成到我的项目中时,同样的问题也发生在我身上。

实际上,lob项目也有AFNetworking文件, 所以我从lob项目中删除了。m文件。

实际上。m文件与我的项目POd/AFNetworking/ .m文件冲突

所以,我已经通过删除与Fabric相关的pod来解决这个问题,因为它与Crashlitics pod相冲突,因为它们实际上是相互复制的,因为Fabric只是Crashlitics的旧版本

最近在寻找错误的来源时非常头疼。我很好奇,当我发现我的应用程序不想编译,只是因为我在不同的类中有以下代码片段:

dispatch_time_t getDispatchTimeByDate(NSDate *date)
{
    NSTimeInterval interval;
    double second, subsecond;
    struct timespec time;
    dispatch_time_t milestone;


    interval = [date timeIntervalSince1970];
    subsecond = modf(interval, &second);
    time.tv_sec = second;
    time.tv_nsec = subsecond * NSEC_PER_SEC;
    milestone = dispatch_walltime(&time, 0);

    return milestone;
}

希望这能帮到别人。

在我的例子中,在这个位置中有两个同名的文件

目标>构建阶段>编译源代码并删除任何重复文件。

在XCode中打开你的项目

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

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

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

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

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

例如

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

祝你好运