我正在尝试将this photo browser library添加到我们的项目中。我在 readme.md 文件中关注方法2:静态库。基本上,这是在Xcode中添加静态库的非常标准的步骤。如果我创建一个简单的 hello world 项目,事情就会好起来的。但是,当我将库添加到现有项目时,会出现以下重复符号错误。
这是一个错误的例子(还有很多,但它们看起来都很相似):
duplicate symbol _OBJC_CLASS_$_MBBarProgressView in:
/Users/.../Build/Intermediates/PDFMaps.build/Debug-iphonesimulator/Project Name.build/Objects-normal/x86_64/MBProgressHUD.o
/Users/.../Build/Products/Debug-iphonesimulator/libMWPhotoBrowser.a(MBProgressHUD.o)
duplicate symbol _OBJC_METACLASS_$_MBBarProgressView in:
/Users/.../Build/Intermediates/PDFMaps.build/Debug-iphonesimulator/Project Name.build/Objects-normal/x86_64/MBProgressHUD.o
/Users/.../Build/Products/Debug-iphonesimulator/libMWPhotoBrowser.a(MBProgressHUD.o)
似乎重复始终发生在中间件文件夹和产品文件夹之间。任何人都可以解释为什么会发生这种情况以及如何解决这个问题?
答案 0 :(得分:2)
从日志中看, MWPhotoBrowser库的类名为 MBProgressHUD https://github.com/mwaterfall/MWPhotoBrowser/tree/master/MWPhotoBrowser/Libraries/MBProgressHUD
以及项目层次结构中的另一个目标 PDFMaps 也具有相同的名称类,从而导致重复的符号错误。
修复是重命名其中一个类或重复使用 MBProgressHUD,无论您做什么。
答案 1 :(得分:0)
当两件事之一发生时,我通常会看到这一点:
这是我通常做的事情: