我得到了这个错误,当我按下建立+调试:

ld: duplicate symbol .objc_class_name_BlogTableItemCell in /Users/fabian/Development/Workspaces/iphone_experiments/xcode_build_output/MausLog.build/Debug-iphonesimulator/MausLog.build/Objects-normal/i386/BlogTableItemCell-3733583914888A7B.o and /Users/fabian/Development/Workspaces/iphone_experiments/xcode_build_output/MausLog.build/Debug-iphonesimulator/MausLog.build/Objects-normal/i386/BlogTableItemCell-3733583914888A7B.o
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1
有帮助吗?

解决方案

看来你是汇编相同的BlogTableItemCell类的两倍,在不同的地方,你的代码。这可能发生在下列情况下。

  • 你已经把同类 执行成两个不同的 文件;

  • 你实际上只有一个 执行这一类,但是 你还连接在你的项目的框架 或库含有一个类的 名称是完全相同。

试图找到在整个项目类,确保只有一个副本可在项目中。

其他提示

您也可以得到这个错误,如果你不慎错过了Xcode的自动完成#进口语句指定重复‘类,而不是‘.H’的”为.M”文件’。

对于我来说,改变是从“无公共块”为No(Targets-下>构建设置 - >苹果LLVM - 代码生成) “在这里输入的图像描述”

我有类似的问题由于consts的限定较差。 我在我的标头中定义一个const:

int const kCropLocationTop = 1;

这大概是进口多次。要修复我改变头部DEF如下:

extern int const kCropLocationTop;

和移动的常量的分配到.m文件:

int const kCropLocationTop = 1;

希望帮助任何人,因为我谁是一无所知,简单的目标C概念!

iPhone:重复符号误码通过user576924

正确回答对我来说。然而发现违规的gremlin此ZSH片段。

grep "import.*\.m" **/*.[hm]

会立即告诉你,你的错误。

这是错误的项目被列入两次在源文件 - >生成阶段 - >编译源代码。他们中的一个取出解决了这个问题。

此错误的最常见的原因是导入xyz.m文件而不是文件xyz.h。 请检查您的进口含有类似   #import "----.m"

只需添加;使用Xcode的生成子类的管理对象(核心数据),有时可以复制生成的文件。对于我修复是删除生成的文件,并重新产生它们。

我只是碰到了这个问题我自己。对于列表,这里的另一种可能性:

在项目文件中重复的联线。

我引起在SVN更新此合并冲突,当我小心重复线。

这发生在我身上了。在我的情况下,自动生成的类我的核心数据中的一个(仅仅一个)插入两次。我通过观察构建阶段...编译源代码发现了重复。简单地删除出现之一解决了这个问题。

添加另一个可能的原因的列表...你可能在实现文件mistakingly创建了多个常量,但执行的以外,具有相同的名称。

在HeaderFileOne.m

NSString * const kCoolConstant = @"cool";

在HeaderFileTwo.m

NSString * const kCoolConstant = @"cool";

因此,改变这些常数名中的一个将修正编译错误。

我也面临这一问题。我的解决办法是重新命名的全局变量,它具有相同的名称作为一个在其他类中的一个。希望这有助于

这可能有助于有人

因为我复制的ViewController我得到这个错误,然后重新命名它。所以,当我编译我得到这个错误。原因是在两个视图控制器的存在具有相同名称的一个即“浮动”可变的“浮动填充= 10.0”,我曾在类级定义的。 在一个视图控制器的重命名上述变量的名称解决我的问题。

同样的事情发生在我身上,而我是用本地化的厦门国际银行文件的播放,一不小心我已经创建了两个实施文件和appereantly,在我的情况下造成的问题。删除/重新创建实现文件没有做同样的错误后,该错误是固定的。

我们的一个开发人员留在有两次“libSoomla *”的项目文件。我删除了重复soomla文件,重新建,而且定了!

希望它能帮助。

在5月的情况下,我跟着一些指令来构建的Subversion的较新版本,其指示我创建该符号链接:

ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain

现在我真的一个Windows家伙,所以它并没有立即明显,我 - 但删除链接固定它,我(重新启动的XCode后):

rm /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain

呼。

(I得到实际的错误是在此描述的一个: 建立错误的重复符号arclite.o

请确保您没有导入.m文件。对我来说,这一点我加了#进口“SchoolCommuterHome.m”代替#进口“SchoolCommuterHome.h”

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top