【问题标题】:Command /Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1命令 /Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang 失败,退出代码为 1
【发布时间】:2012-05-09 12:33:09
【问题描述】:

我正在尝试使用 Xcode 4.3 中的 pdf 工具包做一个阅读 pdf 的应用程序,但它给了我以下错误

ld: duplicate symbol _OBJC_METACLASS_$_OverlayManager in /Users/dt4it/Library/Developer/Xcode/DerivedData/MyPdf4-bmkjglhhvneluqcbwpceiqjvdcmq/Build/Intermediates/MyPdf4.build/Debug-iphonesimulator/MyPdf4.build/Objects-normal/i386/OverlayManager-D0866CFD31A05E68.o and /Users/dt4it/Library/Developer/Xcode/DerivedData/MyPdf4-bmkjglhhvneluqcbwpceiqjvdcmq/Build/Intermediates/MyPdf4.build/Debug-iphonesimulator/MyPdf4.build/Objects-normal/i386/OverlayManager-B31AE7412100AF6D.o for architecture i386
Command /Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

有什么帮助吗??

【问题讨论】:

  • 您的任何文件中有#import#include .m 文件吗?
  • 有数百个“重复符号”帖子。你做了什么调查?
  • 检查你的构建阶段>编译源删除红色的还有,检查你是否有重复的导入语句

标签: iphone objective-c ios ipad


【解决方案1】:

项目设置 > 在“目标”下,选择您的项目 > 构建阶段 > 打开“编译源”和“复制捆绑资源”。检查是否有任何文件以红色列出。如果是这样,只需将其删除。然后清理并运行。

为我工作。

【讨论】:

  • 请提供更多信息。如果有“红色的东西”怎么办?这根本没有帮助......
  • “红色的东西”意味着错误。如果他们在那里,你不能错过他们。
  • 红色文件可能出现在编译源或复制包资源中。我已经编辑了答案。
  • 有时您需要将文件添加到项目中,而不是从“编译源”中删除引用。
  • 只是为了记录,并非所有红色项目似乎都未链接! (对我来说,这是Main.storyboard 和一些库,它们仍然是红色的)。我在Build Settings中有一些错误的路径
【解决方案2】:

做一个清洁。 product > clean 。终端清除和重启对我不起作用,但清洁对我有用。

【讨论】:

  • “Product > Clean”对我不起作用,但“Product > Clean build folder...”对我有用。 (当您在 Product 下拉菜单中按住 Alt 键时会看到它。
  • 太棒了!拯救了我的一天。
【解决方案3】:

我遇到了同样的错误,但似乎没有人在 StackOverflow 上找到真正有效的答案。我的问题是当我尝试复制团队存储库中的项目时。结果是,在忽略文件中,所有扩展名为 *.pch 的文件都被存储库提交忽略了。这意味着当我从 repo 中拉取项目时,.pch 文件丢失了,因此抛出了这个错误。

幸运的是,我仍然拥有该项目的副本,并且能够将 .pch 文件复制过来,然后就可以正常编译了。

希望这有帮助吗?

【讨论】:

    【解决方案4】:

    转到目标首选项,摘要选项卡,找到“部署目标”并增加它。

    【讨论】:

    • 那在哪里?从什么增加到什么?
    • @Esq 在项目导航器中选择您的项目(蓝色图标),然后在主窗口中选择目标(那里的选项:项目、目标 1、目标 2,...)。在主窗口中找到“部署目标”并将其增加到现代(例如 8.1)
    【解决方案5】:

    删除~/Library/Developer/Xcode/DerivedData对我有帮助。

    参考:link

    【讨论】:

      【解决方案6】:

      我也面临这个问题。而且我在 SO 中寻求帮助,而不是使用常识并检查错误消息。

      错误信息的最后一部分和你一样。

      Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 11
      

      但我发现上面几行:

      In file included from /Users/Ricardo/Documents/XCode/RealEstate-Finder-v1.2/RealEstateFinder/RealEstateFinder/RealEstateFinder-Prefix.pch:26:
      /Users/Ricardo/Documents/XCode/RealEstate-Finder-v1.2/RealEstateFinder/RealEstateFinder/Config/Config.h:174:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
      http://www.myserver.com/apps/mobile/rest.php?id=12
      

      指向我的 Config.h 文件。

      编码愉快!

      【讨论】:

      • 我感觉就像一个杯子,它一直就在我面前。谢谢!
      【解决方案7】:

      您不小心在实际的 OverlayManager 类本身中包含了 .m 文件而不是 .h 文件!基本上,他的编译器已经知道要编译 .m 文件,但是当你 #import 它时,编译器会尝试将它包含在同一个源文件中,从而生成重复的符号。但是您的情况是独一无二的,因为您正在 #importing 实际类的 .m 文件的 .m !它正在递归编译您的 OverlayManager 类。

      【讨论】:

        【解决方案8】:

        同样的事情发生在我身上,我发现我忘了把"放在末尾​​p>

        #import "CPDConstants.h
        

        所以

        #import "CPDConstants.h"
        

        【讨论】:

        • 你是说#import "CPDConstants.m" 吗?
        • 不,是我忘记在末尾加引号时发生的。
        【解决方案9】:

        对我来说,从存储库克隆项目后会出现此错误。有人从项目名称中删除了一个空格(重命名:“The Project”为“TheProject”),导致一些Build Settings 错误路径无效。

        有时阅读整个错误日志并不是一个坏主意......

        【讨论】:

          【解决方案10】:

          试试这个 - 在 Xcode 左侧的文件/文件夹列表中(在列表的最顶部)单击您的项目名称。查看右侧窗口左侧的“目标”部分。很可能,列出了两个,第二个是“测试”项目。右键单击该项目并选择“删除”。然后尝试再次运行该项目。

          【讨论】:

            【解决方案11】:

            当安装了两个以上的 XCode 版本时,通常会出现此问题,其中为 Ex 合并了不同的 Swift 版本。安装了运行 Swift 1.2 和 Swift 2.0 的 XCode 6.4 和 XCode 7.3。错误地,您尝试使用不正确版本的 Ex 编译代码。你的项目在 Swift 1.2 中,你尝试用 xcode 7.3 编译它。在这种情况下,驱动器数据存储 swift 版本的信息,但是当您尝试使用正确的 XCode 编译代码时,它会出错。 解决这个问题

            1. 删除驱动器数据
              一种。在 Xcode 中选择首选项

            1. 打开首选项后,单击位置选项卡,然后单击“驱动数据”路径前面的箭头。它将打开驱动数据文件夹

            1. 退出 Xcode
            2. 删除所有驱动器数据。
            3. 在正确的XCode错误中重新打开项目!!!!!!

            【讨论】:

              【解决方案12】:

              这里要考虑的是 *.pch 文件。如果您正在从外部库执行包含,那么您必须确保在#ifdef OBJC 之后和#endif 之前执行包含。如果您尝试在此条件之外进行包含,这可能是编译器错误的原因。

              【讨论】:

                【解决方案13】:

                这是否发生在使用 git 的团队中。其中一名团队成员从外部源添加了一个类,但没有将其复制到 repo 目录中。本地版本编译正常,但持续集成失败,出现此错误。

                重新导入文件并将它们添加到版本控制下的目录中修复了它。

                【讨论】:

                  【解决方案14】:

                  我也有这个错误。但就我而言,我敢肯定我会在这里成为一个人,在应用程序在 iPhone 模拟器上崩溃后按下删除键时,我不小心删除了 main.m。

                  崩溃后,Xcode 显示 main.m 文件,当我点击删除时,我不小心从项目中删除了 main.m 文件,因为突出显示文件名而不是代码时很容易做到在详细视图中。

                  Main.m 通常位于项目文件管理器中名为支持文件的组或文件夹中。直到下一次构建和运行失败时我才注意到发生这种情况,然后我不得不更仔细地重新阅读错误消息并看到它说 main.m 丢失。

                  感谢大家的意见,但以防万一有人在我的职位上检查是否有任何红色的文件名显示丢失的文件,如果有的话,请从备份中恢复它们。

                  【讨论】:

                    【解决方案15】:

                    将丢失的文件(Xcode->target->Build Phases->compiled sources 中的红色文件)添加到目标文件夹解决了我的问题。

                    【讨论】:

                      【解决方案16】:

                      我的问题是,在 Build Phases -> Compile Sources 下,我为文件添加了编译器标志,但我拼错了。应该是:

                      -fno-obj-arc
                      

                      表明该文件不使用 ARC。

                      【讨论】:

                        【解决方案17】:

                        可能对某人有帮助: 从项目中删除多个文件后,我遇到了同样的错误。在 git 存储库中提交删除后,此错误消失了......

                        【讨论】:

                          【解决方案18】:

                          Xcode 8

                          @Spoek 的answer 是对的,

                          但是如果你找不到红色的文件,那就找不透明度低的文件,

                          看到这张图片,

                          第一个在那里,但第二个在里面,所以删除它。

                          【讨论】:

                            【解决方案19】:

                            我的情况,我通过以下方式解决:

                            转到Build Phases并检查Compile Sources文件,检查它是否有重复文件,只保留一个。

                            【讨论】:

                              【解决方案20】:

                              在我的情况下,它是我的 Target 的 Build Settings > Other Swift Flags 中重复的 Swift Flag 条目。我有两个 -Xfrontend 条目。

                              【讨论】:

                                【解决方案21】:

                                就我而言,

                                构建阶段 -> 检查编译源文件 -> 删除 xcode 说“找不到”xxx.swift”的 xxx.swift 文件

                                【讨论】:

                                  【解决方案22】:

                                  这发生在我身上,我花了一个小时才找到它。就我而言,我打字太快了:

                                  [seld method];
                                  

                                  代替:

                                  [self method];
                                  

                                  说真的!我不知道为什么它没有以更容易识别的方式捕捉到这一点。但它当然是在寻找一个名为“seld”的类。

                                  【讨论】:

                                    猜你喜欢
                                    • 1970-01-01
                                    • 2018-05-10
                                    • 2016-12-10
                                    • 2017-08-27
                                    • 2019-03-30
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2018-05-06
                                    • 2011-10-17
                                    相关资源
                                    最近更新 更多