4

我列出了几个文件compile sources,它不想按名称排序,所以我不得不手动对它们进行排序以查找重复项。有没有更简单的方法来做到这一点?它只有约 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)
4

2 回答 2

8

如果您打开报告导航器,选择带有警告的构建,然后展开失败编译的控制台详细信息,它应该准确地描述两个重复引用的位置(在我的示例中,在AppDelegate.oandViewController.o中,后者因为我“不小心”做了一个#importofAppDelegate.m而不是AppDelegate.hin ViewController.m):

在此处输入图像描述

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

在此处输入图像描述

command您还可以通过键入++ (字母“Oh”)来搜索符号shiftO

搜索符号

仅当您在不同的源文件中定义了符号时,最后一种方法才能找到它AppDelegate,但这是另一个需要考虑的途径。

于 2015-01-28T02:14:14.493 回答
1

单击 Xcode ( command8) 中的 Report Navigator 选项卡,然后单击显示红色构建错误图标的构建。它应该更具体地向您显示它发现错误的位置。如果您想了解更多信息,请单击右侧的“汉堡”式按钮:

显示汉堡按钮的屏幕截图

于 2015-01-28T02:44:23.213 回答