【问题标题】:Duplicate Symbol Error for architecture i386架构 i386 的重复符号错误
【发布时间】:2013-02-07 08:29:23
【问题描述】:

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

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

如何解决这个问题?

【问题讨论】:

  • 这些文件在您的项目中是否存在多次检查?
  • 您是否不小心导入了 .m 文件?还是在 Compile Sources 中有文件重复?
  • 就我而言,项目>构建设置>其他链接器标志存在问题(此处相同的文件/框架被导入两次,删除重复的文件/框架后,工作正常!!)跨度>

标签: iphone ios objective-c ipad fmod


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      在我的情况下,我不小心导入了 .m 文件,而不是 .h 文件。希望它对这种愚蠢的错误有所帮助。

      【讨论】:

      • 谢谢,你治好了我的头痛。哈哈,那是我的朋友添加了 .m 文件。你的回答让我在标题中搜索 .m 文件
      【解决方案4】:

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

      改变bool变量名,你的问题就解决了。

      【讨论】:

        【解决方案5】:

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

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

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

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

            【讨论】:

              【解决方案8】:

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

              【讨论】:

                猜你喜欢
                • 2012-08-30
                • 2013-03-09
                • 2011-09-30
                • 2012-10-07
                • 1970-01-01
                • 1970-01-01
                • 2014-05-31
                • 2016-02-12
                相关资源
                最近更新 更多