2012-03-03 81 views
5

已經有相當多的相關問題了,但我只是沒有得到解決。我正在構建一個包含兩個獨立靜態庫的應用程序:RestKit和另一個在NDA上的應用程序。當我建,我得到一個蘋果的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鏈接器標誌。無論我嘗試了什麼,我仍然得到同樣的錯誤。有沒有人有任何想法如何解決這個問題?

順便說一句,我會刪除我的相同帖子。張貼在錯誤的acct上。

回答

3

最簡單的解決方案是將其中一個庫的源代碼修改爲而不是 define NewBase64Decode。 RestKit是開源的;我不知道你是否有你的祕密NDA圖書館的來源。

+0

將源代碼修改爲_not_定義NewBase64Decode或將NewBase64Decode更改爲別的東西(也許MyNewBase64Decode!) – sherlock 2012-10-09 05:24:08