SKPSMTP消息错误'未定义的符号'

时间:2012-07-10 16:43:17

标签: objective-c sendmail

我做得不好?

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)

我正在使用http://skpsmtpmessage.googlecode.com/svn/trunk/SMTPSender/

中的SKPSMTPMessage

3 个答案:

答案 0 :(得分:0)

你正在构建错误的平台。看起来你正在使用专为iphone设计的库,然后尝试在模拟器中运行。如果您只是直接在iOS设备上运行,此代码应该可以使用。

您尝试使用的库中的README告诉您如何链接库。 http://skpsmtpmessage.googlecode.com/svn/trunk/SMTPSender/README.txt

需要告诉编译器你正在构建什么--i386 / simulator或armv7 / iOS设备。如果正确链接库,它将使用它应该的部分。

答案 1 :(得分:0)

SKPSMTP的一个常见问题是忘记在项目中添加对CFNetwork.framework的引用。你添加了吗?

答案 2 :(得分:0)

我单击了Project Navigator中的MailSend.m文件,并在File Inspector的Target成员资格中设置了目标名称附近的复选框。

我从下面的链接中找到了这个答案,并且几乎一字一句地复制了它。有了这个,我就能继续在原来的项目中工作。

Undefined symbols for architecture i386 "_OBJC_CLASS_$_Appirater"