架构i386的重复符号错误

时间:2013-02-07 08:29:23

标签: iphone ios objective-c ipad fmod

我尝试构建时遇到此错误:

“重复符号__Z8ERRCHECK11FMOD_RESULT in:

/Users/codemenmini2012-2/Library/Developer/Xcode/DerivedData/MagicSleepFullVersion-agxulkdijnxbqmbuigucmrczufyw/Build/Intermediates/MagicSleepFullVersion.build/Debug-iphonesimulator/MagicSleepFullVersion.build/Objects-normal/i386/MagicSleepViewController.o

/Users/codemenmini2012-2/Library/Developer/Xcode/DerivedData/MagicSleepFullVersion-agxulkdijnxbqmbuigucmrczufyw/Build/Intermediates/MagicSleepFullVersion.build/Debug-iphonesimulator/MagicSleepFullVersion.build/Objects-normal/i386/MagicSleepViewControllerIpad.o

ld:1个体系结构i386的重复符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)“

如何解决这个家伙?

8 个答案:

答案 0 :(得分:19)

将一个文件的内容复制并粘贴到另一个文件时,可能会发生错误,该文件的接口名称为两个具有相同接口名称的类。

  

在您的代码中,您有两个具有相同接口名称的不同文件。

答案 1 :(得分:5)

对我来说,这个错误发生了,因为我愚蠢到将下载的lib的整个文件夹复制到项目中,里面有一个演示项目。所以我有两个main.m文件。希望这对任何人都有帮助!

答案 2 :(得分:4)

在我的情况下,我意外地导入.m文件而不是.h文件。希望它有助于某人犯这种愚蠢的错误。

答案 3 :(得分:3)

当您在两个不同的类中创建具有相同名称的bool变量时,会出现此错误。 “重复符号__Z8ERRCHECK11FMOD_RESULT in” 所以检查你的两个班级 MagicSleepViewController.m和 MagicSleepViewControllerIpad.m。 对于相同的bool变量。

更改bool变量名称,您的问题将解决。

答案 4 :(得分:2)

看起来你至少有一个(可能更多)符号(或方法,函数等)在MagicSleepViewController.m和MagicSleepViewControllerIpad.m之间重复。

您需要1)更改一组重复方法的名称或2)找出合并MagicSleepViewController.m&的方法。 MagicSleepViewControllerIpad.m所以相同的代码将适用于iPhone和iPad(例如使用运行时条件或其他任何来确定您的代码当前运行的设备类型)。

答案 5 :(得分:0)

我把#defines放在两个完全相同的文件中...... DOH。

答案 6 :(得分:0)

对我来说,在Finder中搜索指定的重复项有帮助。

答案 7 :(得分:0)

我的案例中的问题是由于“编译源”中的多个引用引起的。所以我从Project-> Build Phases->中删除了一个。编译来源。