我正在尝试使用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
任何帮助吗??
答案 0 :(得分:95)
项目设置>在"目标"下,选择您的项目>构建阶段> 打开"编译源"和#34;复制捆绑资源"。检查是否有任何文件以红色列出。如果是这样,只需删除它。然后清洁并运行。
为我工作。
答案 1 :(得分:32)
干净利落。 product > clean
。终端清洗&重新启动对我不起作用,清理工作。
答案 2 :(得分:14)
我遇到了同样的错误,似乎没有人在StackOverflow上找到真正有效的答案。我的问题是当我尝试复制团队存储库中的项目时。事实证明,在忽略文件中,所有扩展名为*.pch
的文件都从存储库提交中被忽略。这意味着当我从repo中拉出项目时,.pch
文件丢失了,从而引发了这个错误。
幸运的是,我仍然拥有该项目的副本,并且只能复制.pch
文件,然后我就可以编译了。
希望这有帮助吗?
答案 3 :(得分:5)
转到目标首选项,摘要选项卡,找到“部署目标”并增加它。
答案 4 :(得分: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文件。
快乐的编码!
答案 5 :(得分:1)
你不小心在实际的OverlayManager类中包含了.m文件OverlayManager而不是.h文件!基本上,编译器已经知道编译.m文件,但是当你#import它时,编译器会尝试将它包含在同一个源文件的内联中,从而生成重复的符号。但是你的情况是独一无二的,因为你正在#importing实际类'.m文件的.m!它以递归方式编译OverlayManager类。
答案 6 :(得分:1)
同样的事情发生在我身上,我发现我忘了把“放在
的末尾#import "CPDConstants.h
所以改为
#import "CPDConstants.h"
答案 7 :(得分:1)
当安装了两个以上版本的XCode时,通常会出现此问题,其中包含用于Ex的不同Swift版本。安装了XCode 6.4和XCode 7.3,它们运行Swift 1.2和Swift 2.0。您错误地尝试使用错误版本的Ex编译代码。您在Swift 1.2中的项目,并尝试使用xcode 7.3进行编译。在这种情况下,驱动器数据存储swift版本的信息,但是当您尝试使用正确的XCode编译代码时,它会给出错误。 要解决此问题
答案 8 :(得分:1)
删除~/Library/Developer/Xcode/DerivedData
帮助了我。
参考:link
答案 9 :(得分:1)
对我来说,从存储库克隆项目后会出现此错误。有人从项目名称中删除了一个空白区域(重命名为"项目"到" TheProject"),这导致一些Build Settings
错误导致无效路径。
有时阅读整个错误日志并不是一个坏主意......
答案 10 :(得分:0)
在我的情况下,这是目标的“构建设置”>“其他Swift标志”中的重复Swift Flag
条目。我其中有两个-Xfrontend
条目。
答案 11 :(得分:0)
我的情况,我解决了:
转到构建阶段并检查编译源文件,检查它是否包含重复文件,只需保留一个。
答案 12 :(得分:0)
答案 13 :(得分:0)
可能对某人有帮助: 从项目中删除多个文件后,我遇到了同样的错误。在git存储库中提交删除后,此错误已经消失......
答案 14 :(得分:0)
我的问题是在Build Phases下 - >编译源代码,我为文件添加了一个编译器标志,但我拼错了它。应该是:
-fno-obj-arc
表明此文件不使用ARC。
答案 15 :(得分:0)
将丢失的文件(Xcode-> target-> Build Phases->编译源中的红色文件)添加到目标文件夹为我解决了这个问题。
答案 16 :(得分:0)
我也有这个错误。但在我的情况下,我确信我会成为一个人,当我在iPhone模拟器上崩溃后点击删除键时,我不小心删除了main.m.
崩溃后,Xcode显示了main.m文件,当我点击删除时,我不小心从项目中删除了main.m文件,因为当文件名突出显示时很容易,而不是代码在详细视图中。
Main.m通常位于项目文件管理器中名为支持文件的组或文件夹中。我没有注意到这种情况发生,直到下一次无法构建和运行,然后我不得不重新阅读错误消息并看到它说main.m丢失了。
感谢大家的投入,但以防万一有人在我的位置检查是否有红色的文件名显示丢失的文件,如果有的话还原备份。
答案 17 :(得分:0)
这是在使用git的团队中发生的。其中一个团队成员从外部源添加了一个类,但没有将其复制到repo目录中。本地版本编译正常,但持续集成失败并出现此错误。
重新导入文件并将其添加到版本控制下的目录中修复它。
答案 18 :(得分:0)
这里要考虑的是* .pch文件。如果您正在从外部库中进行包含,那么您必须确保在#ifdef OBJC 之后和#endif之前进行包含。如果您尝试在此条件之外执行包含,则可能是编译器错误的原因。
答案 19 :(得分:-1)
这发生在我身上,我花了一个小时才找到它。在我的情况下,我键入的速度太快了,并且做了:
[seld method];
而不是:
[self method];
认真!我不知道为什么它没有以一种更容易识别的方式捕捉到它。但它当然正在寻找一个名为“seld”的课程。