Apple Mach-O链接器错误项目库中的重复符号

时间:2014-07-22 01:27:06

标签: ios debugging core-data linker-errors

我修改了我的CoreData数据集,并为无错误的iPhone应用程序添加了几个新类。现在,当我尝试编译时,我收到此错误:

Apple Mach-OP Linker Error Linker command failed with exit code 1 (use -v to see invocation)

duplicate symbol _OBJC_METACLASS_$_SchoolRecords in:
/Users/Yourself/Library/Developer/Xcode/DerivedData/.../YourProject.build/Debug-iphoneos/YourProject.build/Objects-normal/arm64/SchoolRecords.o

/Users/Yourself/Library/Developer/Xcode/DerivedData/.../YourProject.build/Debug-iphoneos/YourProject.build/Objects-normal/arm64/SchoolDivisions+Create.o
duplicate symbol _OBJC_CLASS_$_SchoolRecords in:

Objects-normal/arm64/SchoolDivisions+Create.o
duplicate symbol _OBJC_CLASS_$_SchoolRecords in:
/Users/Yourself/Library/Developer/Xcode/DerivedData/.../YourProject.build/Debug-iphoneos/YourProject.build/Objects-normal/arm64/SchoolRecords.o

我查看了相应的文件夹arm64,但看不到重复的文件。所以我有两个问题:

1)我可以简单地删除此文件夹层次结构并从头开始查看是否可以解决问题吗?

2)如何使用-v选项查看调用?

提前感谢任何提示。

2 个答案:

答案 0 :(得分:2)

简单的解决方案。在处理另一个项目时,我注意到Xcode的自动完成突然填入.m而不是.h用于#import语句。这个项目曾经发生过一次。

将导入更改为.h并解决问题。

花在简单错误上的时间很长。

答案 1 :(得分:1)

XCode使用两个(或更多)具有相同功能的.m文件。

  • 尝试清理项目
  • 尝试重启XCode

您是否删除了旧文件?查看“项目” - > “目标” - > “库搜索路径”,如果有指向旧路径的文件夹。

另请参阅“目标” - > “构建阶段” - > “编译源代码”并检查任何可能具有重复功能的文件