77

I'm trying to do an application reading pdf using pdf kit in Xcode 4.3 but it gives me the following error

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

any help please ??

4

22 回答 22

95

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

为我工作。

于 2013-09-20T12:16:48.297 回答
36

做一个清洁。 product > clean. 终端清除和重新启动对我不起作用,清洁工作。

于 2013-05-17T01:19:01.763 回答
14

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

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

希望这可以帮助?

于 2012-10-29T21:20:14.223 回答
5

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

于 2013-05-27T18:23:25.787 回答
3

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

参考:链接

于 2016-05-11T04:15:33.917 回答
2

我也面临这个问题。而且我在 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 文件。

快乐编码!

于 2015-03-19T15:43:08.237 回答
1

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

于 2012-04-29T16:14:32.210 回答
1

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

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

于 2014-10-20T11:03:19.630 回答
1

同样的事情发生在我身上,我发现我忘了把“放在末尾

#import "CPDConstants.h

所以与其

#import "CPDConstants.h"
于 2013-07-21T20:20:12.387 回答
1

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

于 2015-08-25T08:34:15.557 回答
1

当安装了两个以上的 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 错误重新打开项目 !!!!!!
于 2016-08-09T11:05:53.533 回答
0

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

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

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

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

于 2014-06-12T06:15:45.587 回答
0

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

于 2014-12-25T12:31:00.113 回答
0

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

于 2013-04-28T17:27:41.237 回答
0

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

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

于 2014-02-10T23:51:01.530 回答
0

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

于 2014-09-01T06:59:38.700 回答
0

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

-fno-obj-arc

表明该文件不使用 ARC。

于 2014-09-10T14:37:04.873 回答
0

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

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

于 2017-01-03T11:23:25.297 回答
0

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

于 2018-06-21T22:31:15.397 回答
0

就我而言,

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

于 2020-01-20T06:25:46.777 回答
0

Xcode 8

@Spoek 的回答是对的,

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

看到这张图,

在此处输入图像描述

第一个在那里,但第二个在那里有注释,所以删除它。

于 2016-10-18T17:14:24.717 回答
-1

这发生在我身上,我花了一个小时才找到它。就我而言,我输入得太快并且做了:

[seld method];

代替:

[self method];

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

于 2013-07-29T00:32:07.957 回答