Xcode:我刚收到Apple Mach-O链接器(Id)错误,不知道为什么

时间:2012-05-09 17:08:31

标签: iphone objective-c ios xcode

我是iOS开发的新手,我使用的是最新版本的Xcode,只是出现了一个错误,说Apple Mach-O Linker(Id)错误退出代码1并且我还没有得到线索的原因。我认为这是相关的,但我不确定它的含义:

  

ld:重复符号_OBJC_CLASS _ $ _ Timing1ViewController in /Users/tomkenning/Library/Developer/Xcode/DerivedData/EggTimer-ciznfdheqrtybuavrtbbcxfywyyw/Build/Intermediates/EggTimer.build/Debug-iphonesimulator/EggTimer.build/Objects-normal/i386/适用于架构i386的Mediumhb.o和/Users/tomkenning/Library/Developer/Xcode/DerivedData/EggTimer-ciznfdheqrtybuavrtbbcxfywyyw/Build/Intermediates/EggTimer.build/Debug-iphonesimulator/EggTimer.build/Objects-normal/i386/Timing1ViewController.o < / p>

我最近所做的全部是初始化并在.m文件中设置一些整数值,然后使用#import“suchandsuch.m”从另一个ViewController的.h文件链接到它们,代码中没有错误,但这是不允许的?

提前感谢您提供的任何帮助!

2 个答案:

答案 0 :(得分:4)

不要这样做:

#import "suchandsuch.m" 

这样做:

#import "suchandsuch.h" 

您可能正在编译suchandsuch.m,它定义了类Timing1ViewController,通常(通过在目标的要构建的文件列表中包含suchandsuch.m)。然后,您的#import "suchandsuch.m"会将相同的代码插入到不同的源文件中,该文件也会被编译。结果:两个不同的源文件尝试定义Timing1ViewController

以正确的方式执行常量 - 在extern中声明suchandsuch.h并在suchandsuch.m中定义它们 - 请参阅this answer

答案 1 :(得分:0)

您可能有两个具有相同名称的Timing1ViewController个类。如果您不尝试产品 - &gt;清理并再次建造。