2012-04-05 22 views
17

xcode 4.2.1でiOS5プロジェクト(ARC)でXMPPFrameworkを使用しようとしていますが、この問題に直面しています。 1のようにXMPPFrameworkを使用するプロジェクトを準備する際に、CocoaAsyncSocketをプロジェクトに追加すると、次のエラーが発生します。CocoaAsyncSocketを追加するときのアーキテクチャーarmv7の未定義シンボル

「アーキテクチャarmv7の未定義のシンボル」を持っている人がいましたが、私は現時点でのこの特定の問題に対する答えはまだ見つかりませんでした。

私はCFNetworkにリンクし、非ARC(-fno-objc-arc)としてGCDAsyncSocket.mをマークしましたが、まだエラーが表示されます。どんな助けもありがとうございます。

Undefined symbols for architecture armv7: 
    "_SSLGetBufferedReadSize", referenced from: 
     ___33-[GCDAsyncSocket flushSSLBuffers]_block_invoke_0 in GCDAsyncSocket.o 
     -[GCDAsyncSocket doReadData] in GCDAsyncSocket.o 
    "_SSLSetIOFuncs", referenced from: 
     -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o 
    "_SSLRead", referenced from: 
     -[GCDAsyncSocket flushSSLBuffers] in GCDAsyncSocket.o 
     -[GCDAsyncSocket doReadData] in GCDAsyncSocket.o 
    "_SSLWrite", referenced from: 
     -[GCDAsyncSocket doWriteData] in GCDAsyncSocket.o 
    "_SSLClose", referenced from: 
     -[GCDAsyncSocket closeWithError:] in GCDAsyncSocket.o 
    "_SSLCreateContext", referenced from: 
     -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o 
    "_SSLSetEnabledCiphers", referenced from: 
     -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o 
    "_SSLSetCertificate", referenced from: 
     -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o 
    "_SSLSetConnection", referenced from: 
     -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o 
    "_SSLHandshake", referenced from: 
     -[GCDAsyncSocket ssl_continueSSLHandshake] in GCDAsyncSocket.o 
    "_SSLSetProtocolVersionMax", referenced from: 
     -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o 
    "_SSLSetPeerDomainName", referenced from: 
     -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o 
    "_SSLSetProtocolVersionMin", referenced from: 
     -[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o 
ld: symbol(s) not found for architecture armv7 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

答えて

67

フレームワークにSecurityFrameworkを追加するだけで済みます。私もこの同じ問題に会った。

+1

これは機能します。私は、セキュリティフレームワークが必要とされている場所はどこにも示されていなかったのだろうと思っています。ご回答有難うございます。 – Future2020

+1

+1それは働いている!ありがとう! –

+7

順序が重要:CFNetwork.frameworkを最初に、次にSecurity.frameworkを指定します。この修正プログラムを適用した後、コンパイル時に14のエラーが発生します。すべて正常です。 – Martin

関連する問題