4

当我尝试构建时出现此错误:

“重复符号 __Z8ERRCHECK11FMOD_RESULT 在:

/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:架构 i386 clang 的 1 个重复符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)“

各位大佬怎么解决?

4

8 回答 8

19

当您将一个文件的内容复制并粘贴到另一个具有其接口名称的文件时,可能会发生错误,这意味着两个具有相同接口名称的类。

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

于 2013-02-07T08:41:44.907 回答
5

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

于 2013-07-27T13:39:43.780 回答
4

在我的情况下,我不小心导入了 .m 文件,而不是 .h 文件。希望它可以帮助某人解决这种愚蠢的错误。

于 2014-09-01T13:22:02.013 回答
3

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

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

于 2013-02-07T09:49:30.623 回答
2

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

您需要 1) 更改一组重复方法的名称或 2) 找出合并 MagicSleepViewController.m 和 MagicSleepViewControllerIpad.m 的方法,以便相同的代码可以在 iPhone 和 iPad 上运行(例如使用运行时条件或其他来确定您的代码当前运行在哪种设备上)。

于 2013-02-07T08:34:38.117 回答
0

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

于 2014-10-07T00:44:44.023 回答
0

对我来说,在查找器中搜索命名的重复项很有帮助。

于 2014-12-18T17:22:49.337 回答
0

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

于 2016-09-20T08:38:01.250 回答