2011-09-18 92 views
23

我試圖將MailCore編譯成我正在創建的iOS應用程序,並且鏈接器不斷抱怨libiconv未鏈接到。至少這是我認爲它的抱怨。這是它吐出:libiconv未鏈接到iOS項目

Undefined symbols for architecture i386: 
    "_iconv", referenced from: 
     _mail_iconv in libmailcore.a(charconv.o) 
    "_iconv_open", referenced from: 
     _charconv in libmailcore.a(charconv.o) 
     _charconv_buffer in libmailcore.a(charconv.o) 
    "_iconv_close", referenced from: 
     _charconv in libmailcore.a(charconv.o) 
     _charconv_buffer in libmailcore.a(charconv.o) 
ld: symbol(s) not found for architecture i386 
collect2: ld returned 1 exit status 

(這是建立在模擬器大廈爲我的iPhone給出了同樣的錯誤,但s/i386/armv7/)。

我已經嘗試添加libiconv.dylib來「鏈接二進制庫」,但它根本不會改變錯誤。

任何想法在這裏可能是錯誤的?我一直在試圖谷歌這個錯誤,但我找不到任何有關如何鏈接到libiconv的信息。由於它是iOS SDK的一部分,你會認爲我不需要自己編譯它?

+1

libiconv.dylib做到了 – naz

回答

16

作爲對lib包含在目標中的額外確認,請在Xcode左側窗格中的文件列表中選擇lib(假設您已將它添加到Target/Project中,您應該看到框架列在框架下),並在右側窗格(查看 - >助理編輯器 - >顯示助理編輯器)上顯示助理編輯器視圖。

然後,在左側選中相關的lib後,您會看到該目錄的'目標成員',顯示爲右側複選框列表。

您應該看到App Target Listed,並且應該爲該目標檢查複選框。

您可以嘗試取消選中並重新檢查它,將其推入您的項目?

+0

謝謝,這樣做!它在File Inspector中(Xcode 4中的Option-Cmd-1,或者View> Utilities> Show File Inspector)。 – henrikhodne

+0

好聽。感謝您告訴我們,並接受答案。 – Snips

+0

我已經嘗試了libjumio庫的相同的東西,但沒有用。你能幫我解決同樣的問題嗎? – Ganesh