2011-09-18 28 views
23

Tôi đang cố gắng biên dịch MailCore thành ứng dụng iOS mà tôi đang tạo và liên kết tiếp tục phàn nàn rằng libiconv không được liên kết. Ít nhất đó là những gì tôi cho là đang phàn nàn. Đây là những gì nó phát ra:libiconv không liên kết tới dự án 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 

(Đây là tòa nhà cho trình giả lập. Xây dựng cho iPhone của tôi có cùng lỗi, nhưng s/i386/armv7/).

Tôi đã thử thêm libiconv.dylib vào "Liên kết nhị phân với thư viện", nhưng nó không thay đổi lỗi nào cả.

Bất kỳ ý tưởng nào có thể sai ở đây? Tôi đã cố gắng để Google lỗi này, nhưng tôi không thể tìm thấy bất kỳ thông tin về làm thế nào để liên kết trong libiconv. Vì nó là một phần của iOS SDK, bạn sẽ nghĩ rằng tôi không cần phải tự biên dịch nó?

+1

libiconv.dylib đã làm điều đó – naz

Trả lời

16

Khi xác nhận thêm rằng lib được bao gồm trong mục tiêu của bạn, hãy chọn lib trong danh sách tệp trong ngăn bên trái của Xcode (giả sử bạn đã thêm nó vào Target/Project, bạn sẽ thấy khung được liệt kê trong khung công tác), và hiển thị giao diện Trợ lý Editor ở khung bên phải (Xem -> Trợ lý Biên tập viên -> Hiển thị Trợ lý Biên tập viên).

Sau đó, với lib tương ứng được chọn ở bên trái, bạn sẽ thấy 'Thành viên mục tiêu' cho lib đó được hiển thị dưới dạng danh sách hộp kiểm ở bên phải.

Bạn sẽ thấy Mục tiêu ứng dụng được liệt kê và hộp kiểm phải được kiểm tra cho mục tiêu đó.

Bạn có thể thử bỏ chọn và kiểm tra lại, để di chuyển nó vào dự án của bạn?

+0

Cảm ơn, điều đó đã làm được! Mặc dù vậy nó nằm trong File Inspector (Option-Cmd-1 trong Xcode 4, hoặc View> Utilities> Show File Inspector). – henrikhodne

+0

Tốt để nghe. Cảm ơn bạn đã cho chúng tôi biết và chấp nhận câu trả lời. – Snips

+0

Tôi đã thử cùng một điều cho thư viện libjumio, nhưng không sử dụng. Bạn có thể vui lòng giúp tôi cách giải quyết vấn đề này không. – Ganesh

60

Bạn cần thêm libiconv.dylib qua "thêm khung". SRC là available from this discussion.

+1

điều này giải quyết được vấn đề của tôi nhờ – muldercnc

+1

Giải pháp đơn giản và thông minh .. –

+4

Kể từ Xcode 7, lib này bây giờ là "libiconv.tbd". – sherb

Các vấn đề liên quan