我有一个使用libcurl.all.a的项目。它在 Xcode 4.6.3 上构建、链接和运行完美。但在 Xcode5 中,它会在未定义的符号上引发链接器错误。错误日志如下。
Undefined symbols for architecture i386:
"_SSLCopyPeerCertificates", referenced from:
_darwinssl_connect_common in libcurl.all.a(libcurl_la-curl_darwinssl.o)
"_SSLDisposeContext", referenced from:
_Curl_darwinssl_close in libcurl.all.a(libcurl_la-curl_darwinssl.o)
_Curl_darwinssl_shutdown in libcurl.all.a(libcurl_la-curl_darwinssl.o)
_darwinssl_connect_common in libcurl.all.a(libcurl_la-curl_darwinssl.o)
"_SSLNewContext", referenced from:
_darwinssl_connect_common in libcurl.all.a(libcurl_la-curl_darwinssl.o)
"_SSLSetEnableCertVerify", referenced from:
_darwinssl_connect_common in libcurl.all.a(libcurl_la-curl_darwinssl.o)
"_SSLSetProtocolVersionEnabled", referenced from:
_darwinssl_connect_common in libcurl.all.a(libcurl_la-curl_darwinssl.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
SecurityFramework 已经存在于项目中,并且我已将Build Active Architecture Only设置为 No。由于它在 Xcode 4.6.3 中编译,我认为它与缺少目标成员资格没有任何关系。
有没有办法解决这个问题?或者一个可能的解决方法,让这个库与 Xcode5 一起工作非常重要,因为它需要在 iOS7 应用程序中使用。