0

私は正しくやっていないのですか?

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を使用しています

4

3 に答える 3

0

Project NavigatorでMailSend.mファイルをクリックし、FileInspectorのTargetメンバーシップのターゲット名の近くにあるチェックボックスを設定しました。

以下のリンクからこの答えを見つけて、ほぼ一語一語コピーしました。これにより、元のプロジェクトで作業を続けることができました。

アーキテクチャi386「_OBJC_CLASS_$_Appirater」の未定義のシンボル

于 2012-07-11T14:51:16.533 に答える
0

SKPSMTPの一般的な問題の1つはCFNetwork.framework、プロジェクトにへの参照を追加するのを忘れていることです。これを追加しましたか?

于 2012-07-10T16:48:57.360 に答える
0

間違ったプラットフォーム用に構築しています。iPhone 向けのライブラリを使用していて、シミュレーターで実行しようとしているようです。このコードは、iOS デバイスで直接実行するだけで機能するはずです。

使用しようとしているライブラリの README に、ライブラリのリンク方法が記載されています。http://skpsmtpmessage.googlecode.com/svn/trunk/SMTPSender/README.txt

コンパイラには、何のためにビルドしているか (i386/simulator または armv7/iOS デバイス) を伝える必要があります。ライブラリを正しくリンクすると、想定されている部分が使用されます。

于 2012-07-10T16:44:22.943 に答える