Xcode 如何找到重复符号的位置

Xcode 如何找到重复符号的位置,xcode,duplicate-symbol,Xcode,Duplicate Symbol,我在编译源代码中列出了几个文件,它不想按名称排序,所以我不得不手工排序,寻找重复的文件。有没有更简单的方法?它只有约100个文件,但如果知道一种更有效的方法,那就太好了 错误示例: ... duplicate symbol _OBJC_CLASS_$_AppDelegate in: /Users/xxxx/Library/Developer/Xcode/DerivedData/JOMiPhoneApp-ginylosefnqdjpfprrdipmpewzun/Build/Intermed

我在
编译源代码
中列出了几个文件,它不想按名称排序,所以我不得不手工排序,寻找重复的文件。有没有更简单的方法?它只有约100个文件,但如果知道一种更有效的方法,那就太好了

错误示例:

...
duplicate symbol _OBJC_CLASS_$_AppDelegate in:
    /Users/xxxx/Library/Developer/Xcode/DerivedData/JOMiPhoneApp-ginylosefnqdjpfprrdipmpewzun/Build/Intermediates/MyApp.build/Debug-iphoneos/MyApp.build/Objects-normal/arm64/AppDelegate-215945057A88172.o
ld: 34 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

如果调出报表导航器,选择带有警告的构建,然后展开失败编译的控制台详细信息,它应该准确描述两个重复引用的位置(在我的示例中,在
AppDelegate.o
ViewController.o
中,后者是因为我“意外地”是否在
ViewController.m
中导入
AppDelegate.m
而不是
AppDelegate.h
):

在左侧面板的项目导航器中,单击搜索选项卡并查找
AppDelegate
。无论如何,您可以像这样搜索整个项目:

您也可以通过键入command+shift+O(字母“Oh”)来搜索符号:


最后一个方法只会发现,如果你在不同的源文件中定义了<代码> AppReaveT/Cux>符号,但它是另一个需要考虑的途径。

< P>点击XCODE(CUMLD8)中的NavigeNavigor标签,然后点击显示红色构建错误图标的构建。它应该更具体地告诉您它在哪里找到错误。如果您想了解更多信息,请单击右侧的“汉堡包”样式按钮:


在其他什么位置可以找到副本?(也就是说,当链接器说_OBJC_CLASS_$_AppDelegate是一个副本时,它一定在一个或多个其他.o文件中找到了它。)我使用了这种方法,但在
构建阶段检查了“重复文件”
,当然找到了这些文件。感兴趣的是有34个错误,但只有3个文件是重复的。