5

已经有很多相关的问题,但我只是没有解决这个问题。我正在构建一个包含两个独立静态库的应用程序: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

现在,我已经看到了一些潜在的修复方法。这篇文章看起来很有希望。我还尝试使用此博客条目中的脚本添加构建规则。我尝试添加和删除 -ObjC、-all_load 和 -force_load 链接器标志。无论我尝试了什么,我仍然会遇到同样的错误。有谁知道如何解决这个问题?

顺便说一句,我将删除我相同的帖子。将其发布在错误的帐户上。

4

1 回答 1

3

最简单的解决方案是将其中一个库的源代码修改为定义NewBase64Decode. RestKit 是开源的;我不知道您是否有秘密 NDA 库的来源。

于 2012-03-03T03:49:50.270 回答