Symbol链接错的原因总结和解决方法   

Duplicate Symbol链接错的原因总结和解决方法   

五迷三道 提交于 2019-12-10 05:32:41
duplicate symbol是一种常见的链接错误,不像编译错误那样可以直接定位到问题的所在。但是经过一段时间的总结,发现这种错误总是有一些规律可以找的。 例如,我们有如下的最简单的两个类代码: // ClassA.h #import <Foundation/Foundation.h> @interface ClassA : NSObject @end // ClassA.m #import "ClassA.h" @implementation ClassA @end // ClassB.h #import <Foundation/Foundation.h> @interface ClassB : NSObject @end // ClassB.m #import "ClassB.h” @implementation ClassB @end 编译后出现的错误信息如下: duplicate symbol _OBJC_METACLASS_$_ClassA in: /Users/dajie/Library/Developer/Xcode/DerivedData/linkTest-cpjaaatiyqpvxcbzfzpklcbqrgqg/Build/Intermediates/linkTest.build/Debug-iphonesimulator/linkTest.build