我在编译我的代码时出错。问题标识符将其标记为“Apple Mach-O Link Linker命令失败”。我不知道这是什么,所以我无法找到解决方案。
duplicate symbol _OBJC_METACLASS_$_XYZFlipsideViewController in:
/Users/studentuse/Library/Developer/Xcode/DerivedData/RSC-
aardgrngtzicssfffcbdqsezpqmv/Build/Intermediates/RSC.build/Debug-
iphonesimulator/RSC.build/Objects-normal/i386/XYZAppDelegate.o
/Users/studentuse/Library/Developer/Xcode/DerivedData/RSC-
aardgrngtzicssfffcbdqsezpqmv/Build/Intermediates/RSC.build/Debug-
iphonesimulator/RSC.build/Objects-normal/i386/XYZFlipsideViewController.o
ld: 6 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation) //This
line has the mistake代码有什么问题?
(这只是代码的一部分。)
发布于 2013-05-07 04:30:15
问题是,您已经定义了两次 XYZFlipsideViewController 类的实现,而链接器无法确定您所指的是哪一个定义:
duplicate symbol _OBJC_METACLASS_$_XYZFlipsideViewController定义它的两个位置是这两个对象文件:
XYZAppDelegate.o
XYZFlipsideViewController.o有两种可能的解释:
XYZAppDelegate.m和XYZFlipsideViewController.m中都有一个@implementation XYZFlipsideViewController ... @end块,或者@implementation ... @end块,该头文件是由这两个源文件<代码>H219<代码>F220编辑的#include/#import在第一种情况下,解决方案是删除其中一个@implementation块。在第二种情况下,解决方案是将 @implementation 块从头文件移动到源文件中,但将@interface块保留在头文件中。
理解@interface和@implementation之间的区别很重要--前者说的是“这里是一个类的名称,它的实例变量的名称,以及它的成员函数的名称”,而后者说的是“这里是类的属性和成员函数的所有定义”。
发布于 2013-05-07 04:26:30
确保并检查您的实际项目目录中是否有文件的多个文件,它说您有重复的文件。有时在删除和重新创建文件时,我会忘记单击“发送到回收站”与“删除引用”。
我不确定这是不是你的问题,但我以前也遇到过类似的问题。
祝你好运!^^
https://stackoverflow.com/questions/16406604
复制相似问题