ld:xx架构armv7 Xcode项目的重复符号

大家好,我有一个Xcode项目,每当我尝试构build项目时都会给我这个错误:

ld:xx架构armv7的重复符号Xcode Project clang:error:linker command failed with exit code 1 …

我已经search了,大多数解决scheme都说在项目的构build阶段 – >编译资源部分删除重复文件,或者在某些文件中将导入.m更改为.h。 问题是编译资源的列表甚至没有sorting,我甚至不知道要修复哪些文件,因为我的项目中有很多文件。 有关如何清理这个问题的任何build议?

我有时会遇到这个错误,问题始终在于此。 我在一个类的.m中有一个静态variables,在另一个.m中有另一个同名的静态variables。 显然,当有两个具有相同名称的静态variables时,编译器不喜欢它,无论是否在不同的文件中。 所以检查任何重复的静态variables名称或#definemacros。 此外,它可能不是重复的文件或文件两次导入。 如果导入了两个不同的文件,但每个文件都有一个名称相同的variables或macros,则会出现错误,因为编译器无法确定使用哪个文件。 冲突的variables应该在错误中提到的文件中。 希望这可以帮助!

在你的项目中有某些文件可能已经被导入了两次,试着分析错误日志,它必须引用那个你必须得到错误的文件,如“YourViewCOntroller.O”,find这个双重文件,search“ YourViewCOntroller“,您需要从Xcode项目中删除这些文件,然后重新构build

如果你正在使用像我这样的Cocoapods ,你可能会发现其他的答案是没有帮助的,因为重复是由pod文件自动生成的。

对我来说,工作是看重复的符号列表,例如:

重复的符号_OBJC_METACLASS _ $ _ AFImageCache在:

___ /build造/产品/debugging-的iPhoneOS / libPods-AFNetworking.a(的UIImageView + AFNetworking.o)

___ /build设/产品/debugging-的iPhoneOS / libAFNetworking.a(UIImageView的+ AFNetworking.o)

ld:结构armv7 clang的214个重复符号:错误:linker命令失败,退出代码1(使用-v查看调用)

然后去你的项目/目标生成设置 – >其他链接器标志,并删除对重复吊舱的引用(在我的情况下,AFNetworking)。

清洁,再次build立,它应该工作。

据我所知,这可能是因为其他豆荚引用AFNetworking,导致重复。