已经有相当多的相关问题,但我只是没有得到解决。我正在构建一个包含两个独立静态库的应用程序:RestKit和另一个在NDA上的静态库。当我构建时,我得到Apple Mach-O链接器错误如下:
duplicate symbol _NewBase64Decode
in /Users/geraldwburke/Desktop/iOS Programming/MyApp/someLib.a(NSData+Base64.o)
and /Users/geraldwburke/Library/Developer/Xcode/DerivedData/MyAppddlwzdeskfwaxyargomvfhurvxzi/Build/Products/Debug-iphoneos/libRestKit.a(NSData+Base64.o)
for architecture armv7
现在,我已经看到了一些可能的修复方法。 This article似乎很有希望。我还尝试使用this blog entry中的脚本添加构建规则。我已经尝试添加和删除-ObjC,-all_load和-force_load链接器标志。无论我尝试过什么,我仍然会得到同样的错误。有没有人知道如何解决这个问题?
BTW我将删除我的相同帖子。把它贴在错误的帐户上。
答案 0 :(得分:3)
最简单的解决方案是将其中一个库的源代码修改为 not define NewBase64Decode
。 RestKit是开源的;我不知道您是否拥有秘密NDA库的来源。