我正在开发ios中的聊天应用并使用XMPPFrameWork。
我使用了此链接中的代码:
但是在这段代码中没有附加xmpp库。我从
下载库并将其包含在我的项目中。但现在我的项目编译失败了。并给予errortrace:
ld: warning: directory not found for option '-L"/Users/quytech/Documents/nitin_work/Twinqli IOS/Building-a-Jabber-client-for-iOS-master 3/xmpp/Vendor/libidn"'
Undefined symbols for architecture i386:
"_SSLClose", referenced from:
-[GCDAsyncSocket closeWithError:] in GCDAsyncSocket.o
"_SSLCreateContext", referenced from:
-[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
"_SSLGetBufferedReadSize", referenced from:
___33-[GCDAsyncSocket flushSSLBuffers]_block_invoke in GCDAsyncSocket.o
-[GCDAsyncSocket doReadData] in GCDAsyncSocket.o
"_SSLHandshake", referenced from:
-[GCDAsyncSocket ssl_continueSSLHandshake] in GCDAsyncSocket.o
"_SSLRead", referenced from:
-[GCDAsyncSocket flushSSLBuffers] in GCDAsyncSocket.o
-[GCDAsyncSocket doReadData] in GCDAsyncSocket.o
"_SSLSetCertificate", referenced from:
-[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
"_SSLSetConnection", referenced from:
-[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
"_SSLSetEnabledCiphers", referenced from:
-[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
"_SSLSetIOFuncs", referenced from:
-[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
"_SSLSetPeerDomainName", referenced from:
-[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
"_SSLSetProtocolVersionMax", referenced from:
-[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
"_SSLSetProtocolVersionMin", referenced from:
-[GCDAsyncSocket ssl_startTLS] in GCDAsyncSocket.o
"_SSLWrite", referenced from:
-[GCDAsyncSocket doWriteData] in GCDAsyncSocket.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
任何人都可以帮我编译这个项目。
提前致谢。
答案 0 :(得分:0)
要解决此问题,请先检查libdin.a&所有其他有用的库都会添加到您的项目中。如果你没有它,你可以从here下载,清理你的项目&运行。 如果问题仍然存在,请按照以下步骤添加security.framework: 项目 - >构建阶段 - >链接库与二进制文件 - >点击左下角的+按钮 - >搜索security.framework - >添加它,然后清理你的项目&建立它。它会像魅力一样发挥作用。
答案 1 :(得分:0)
我强烈建议您使用 cocoapods (http://cocoapods.org/?q=XMPPFramework)。自动为您配置所有项目,您忘记手动完成。