Próbuję użyć XMPPFramework z projektem iOS5 (ARC) pod kodem Xcode 4.2.1, ale mam ten problem. Kiedy dodam CocoaAsyncSocket do mojego projektu w ramach przygotowania mojego projektu do użycia XMPPFramework jak w 1 pojawia się następujący błąd.Niezdefiniowane symbole architektury armv7 podczas dodawania CocoaAsyncSocket
Widziałem innych ludzi mających "Nieokreślone symbole dla architektury armv7", ale nie znalazłem jeszcze odpowiedzi na ten konkretny problem, który mam w tej chwili.
Połączyłem się z siecią CFNet i oznaczono GCDAsyncSocket.m jako nie-ARC (-fno-objc-arc), ale nadal otrzymuję błąd. Każda pomoc jest doceniana.
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)
Działa! Zastanawiam się, że nie zostało nigdzie wskazane, że potrzebne są również ramy bezpieczeństwa. Dzięki za odpowiedź. – Future2020
+1 Działa! Dzięki! –
Kolejność jest ważna: najpierw CFNetwork.framework, a następnie Security.framework; sprawia mi 14 błędów w kompilacji, po tej poprawce wszystko jest w porządku. – Martin