2012-03-06 1 views
0

XMPPフレームワークを使用してメッセージを送受信しようとしています。私は、メッセージの送受信にXMPPStreamクラスを使用しました。私は、この問題を解決するために私を導いてくださいリンカエラーIphone clang error

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_XMPPStream", referenced from: 
     objc-class-ref in AppDelegate.o 
    "_OBJC_CLASS_$_XMPPPresence", referenced from: 
     objc-class-ref in AppDelegate.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

を得るビルドするメッセージを受信するために私のコードは

- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message { 

    NSString *msg = [[message elementForName:@"body"] stringValue]; 
    NSString *from = [[message attributeForName:@"from"] stringValue]; 
    NSMutableDictionary *m = [[NSMutableDictionary alloc] init]; 
    [m setObject:msg forKey:@"msg"]; 
    [m setObject:from forKey:@"sender"]; 
    [_messageDelegate newMessageReceived:m]; 
    [m release]; 

} 

です。

ありがとうございます。

+0

clangとは関係ありません。あなたはXMPP Framework for Cocoaを使用しています(それはそうです)、フレームワークを追加していません。 https://github.com/robbiehanson/XMPPFramework/wiki/GettingStarted_iOS – Jano

+0

を参照してください。私はすでに、そのリンクにあるように私のプロジェクトでココア用のXMPPフレームワークを追加しました。私は何かが不足しています。 – Harry

+1

すべてのXMPPソースファイルをプロジェクトに追加しましたか?彼らは 'XMPPStream.m'のような名前を持ちます。あるいは、プロジェクトに静的ライブラリを追加しましたか?これは 'libXMPP.a'や' libXMPPFramework.a'のような名前です。 –

答えて

1

プロジェクトにライブラリを追加する際に問題があります。すべてのライブラリを削除してもう一度追加してください。 libidn.aライブラリをxmppframeworkに追加し、コンパイルします。このリンクのすべての指示に従ってください。 github.com/robbiehanson/XMPPFramework/wiki/GettingStarted_iOS

関連する問題