gpt4 book ai didi

ios - Xcode5 上的 libcurl 链接器错误,但在 Xcode 4.6 上工作正常

转载 作者:行者123 更新时间:2023-12-01 16:46:48 25 4
gpt4 key购买 nike

我有一个项目使用 libcurl.all.a .它在 Xcode 4.6.3 上构建、链接和运行完美。但在 Xcode5 中,它会在 undefined symbol 上引发链接器错误。错误日志如下。

  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,我设置了 仅构建事件架构 没有。而且由于它在 Xcode 4.6.3 中编译,我认为它与缺少目标成员资格没有任何关系。

有没有办法解决这个问题?或者一个可能的解决方法,让这个库与 Xcode5 一起工作非常重要,因为它需要在 iOS7 应用程序中使用。

最佳答案

因此,我发布答案,以便它对可能面临类似情况的任何人有用。我能够从@deltheli 和@sergio 的评论中解决问题,非常感谢他们的帮助。

所以,我不得不跑
lipo -信息
了解支持的架构,以及
发现不支持 armv7s 和 arm64,所以我尝试在 armv7 中编译它,但失败并解释了为什么它在 Xcode 4.6 而不是 5 中完美运行的问题。我的 libcurl 已经过时了!而且我使用的版本不支持DarwinSSL符号。使用足够新的版本为我解决了这个问题。

关于ios - Xcode5 上的 libcurl 链接器错误,但在 Xcode 4.6 上工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19294737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com