我在 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)
最佳答案
如果您打开报告导航器,选择带有警告的构建,然后展开失败编译的控制台详细信息,它应该准确描述两个重复引用的位置(在我的示例中,在 AppDelegate.o
和 ViewController.o
中) ,后者是因为我“不小心”做了 #import
的 AppDelegate.m
而不是 AppDelegate.h
在 ViewController.m
):
在左侧面板的项目导航器中,单击搜索选项卡并查找 AppDelegate
.无论如何,您可以像这样搜索整个项目:
您还可以通过键入 command+shift+O(字母“Oh”)来搜索符号:
最后一种方法只有在您拥有 AppDelegate
时才能找到它。符号定义在不同的源文件中,但这是另一个需要考虑的途径。
关于xcode - 如何找到重复符号的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28182041/