2012-07-10 145 views
0

我沒有正確地做什麼?SKPSMTP消息錯誤'未定義符號'

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_SKPSMTPMessage", referenced from: 
    objc-class-ref in MailSend.o 
    "_kSKPSMTPPartContentTransferEncodingKey", referenced from: 
    -[MailSend sendEmail] in MailSend.o 
    "_kSKPSMTPPartContentTypeKey", referenced from: 
    -[MailSend sendEmail] in MailSend.o 
    "_kSKPSMTPPartMessageKey", referenced from: 
    -[MailSend sendEmail] in MailSend.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

進出口使用SKPSMTPMessage從http://skpsmtpmessage.googlecode.com/svn/trunk/SMTPSender/

回答

0

您正在爲錯誤的平臺。它看起來像你正在使用專門用於iPhone的庫,然後嘗試在模擬器中運行。如果您只是直接在iOS設備上運行該代碼,該代碼應該可以正常工作。

您嘗試使用的庫中的自述文件告訴您如何鏈接庫。 http://skpsmtpmessage.googlecode.com/svn/trunk/SMTPSender/README.txt

編譯器需要告訴你正在爲什麼構建 - i386/simulator或armv7/iOS設備。如果您正確鏈接庫,它將使用它應有的部分。

+0

我只是想對我公司的iPad上運行它,它仍然有同樣的錯誤 – user1489433 2012-07-10 16:53:35

+0

IM試圖熄滅的這傢伙張貼http://stackoverflow.com/questions/6284599/mfmailcomposeviewcontroller-question -locking-the-fields – user1489433 2012-07-10 16:54:00

+0

iPad沒有i386架構 - 它使用armv7。您必須錯誤地構建到iPad上。 – Dustin 2012-07-10 16:55:41

0

SKPSMTP的一個常見問題是忘記在項目中添加對CFNetwork.framework的引用。你有沒有添加這個?

+0

我將CFNetwork/CFNetwork.h導入到我的.h文件中,並且我仍然有相同的錯誤 – user1489433 2012-07-10 16:55:03

+0

並且CFNetwork框架被添加到我的項目中 – user1489433 2012-07-10 16:56:41

+0

這與Dustin聲明的結構必須是相關的......我已經只是將文件添加到一個新的項目,它編譯好。 – 2012-07-10 17:04:59