【问题标题】:Xcode 7 simulator error "duplicate symbols for architecture x86_64"Xcode 7 模拟器错误“架构 x86_64 的重复符号”
【发布时间】:2016-09-24 05:58:24
【问题描述】:

我的开发环境有Xcode 7.2.1CocoaPods 1.0.0GoogleMaps 1.13.2

我可以成功构建代码以生成 XXX.ipa 文件并安装在我的 iPhone 6 Plus 中以正常工作。

但是当我通过项目“iPhone 6”或“iPhone 6 Plus”运行 Xcode 模拟器时,总是得到如下信息

"xxxx 架构 x86_64 的重复符号" "链接器命令 退出代码 1 失败(使用 -v 查看调用)"

我用下面的解决方法还是不能解决

  1. 构建选项 -> 启用位码 -> 设置为“否”

  2. 从其他链接器标志中删除 -ObjC

  3. project Targer -> 构建阶段 -> 编译源代码,检查没有重复文件

  4. 确保我没有#imported .m 文件

我想知道是否有任何其他方法可以解决这个问题,感谢您的帮助。

【问题讨论】:

  • 愚蠢的一个,但请确保您没有在某处错误地#imported a .m 文件
  • 你也可以查看这个。将“No Common Blocks”从 Yes 更改为 No(在 Targets->Build Settings->Apple LLVM - Code Generation 下)解决了这个问题。
  • 您可以在此SO question中查看含义以及如何解决您的错误
  • @aBilal17 您的答案是:stackoverflow.com/a/25666570/6124910
  • @Patrick 不是答案而是评论。

标签: ios objective-c google-maps google-maps-sdk-ios


【解决方案1】:

当您将任何库或文件链接两次时,通常会发生此错误。 在错误描述中,将列出重复文件的名称,您可以搜索并确保没有重复文件。 如果您发现重复项,请删除对其中之一的引用以确保安全

【讨论】:

    【解决方案2】:

    我也遇到过类似的问题。

    在我的应用程序中,我在两天前运行了我的代码并创建了 ipa。今天,当我尝试运行相同的代码而不做任何更改时:

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

    此重复链接器错误的解决方案可以通过从编译源中删除所有,然后单击+按钮并搜索术语'.m'。突出显示每个班级,然后点击添加。再次构建并运行。

    【讨论】:

      【解决方案3】:

      如果您错误地导入“.m”文件而不是“.h”,也会出现此问题。我知道这似乎是一个愚蠢的建议,但这是我在我的案例中所做的。

      【讨论】:

        【解决方案4】:

        我通过删除 Build Settings-> Other Linker flags 中的 -all_load 标志解决了这个问题。

        【讨论】:

          猜你喜欢
          • 2021-11-18
          • 2022-06-13
          • 2015-02-10
          • 2014-08-09
          • 2020-11-26
          • 2019-11-19
          • 1970-01-01
          • 1970-01-01
          • 2015-12-16
          相关资源
          最近更新 更多