gpt4 book ai didi

c++ - C++Builder 中的 "Could Not Load SSL Library"错误

转载 作者:行者123 更新时间:2023-12-04 22:39:00 26 4
gpt4 key购买 nike

这已经讨论过好几次了,但这次我来问你,因为它是相同的情况。
首先,问题的关键在于,当使用 Get() TIdHTTP的功能在 HTTPS 网页上,显示无法加载 SSL 库的消息。
所以我加了TIdSSLIOHandlerSocketOpenSSLTIdHTTP::IOHandler ,更改了TIdHTTP::HandleRedirects属性为 true,移动了 libeay32.dllssleay32.dll文件到可执行文件的位置,它在 C++Builder Berlin 中正常工作。
但是,在 C++Builder 2007 中,即使我将其设置为相同的环境和 Get()代码,出现“无法加载 SSL 库”错误。
如果有人遇到过类似的问题,可以给我你的解决方案吗?

最佳答案

在评论中,您提到 Indy 的 WhichFailedToLoad()函数报告各种..._indy OpenSSL DLL 中缺少函数。 Indy 正在寻找这些功能的事实意味着您使用的是 Indy v8 或 v9,而不是 v10。您可以通过查看 gsIdVersion 来验证这一点。 IdGlobal 中的全局变量单元。
Indy v8 和 v9 需要定制的 OpenSSL 0.9.6 DLL。当时,Indy 需要访问 OpenSSL 尚未公开访问的各种 OpenSSL 内部(这在后来的 OpenSSL 版本中得到了纠正),因此 Indy 需要向 DLL 添加一些自定义函数。您可以从 Archive 获取这些 DLL。 Indy's OpenSSL-Binaries 的文件夹存储库。
但是,Indy v8 和 v9 已过时,不再受支持。它们不支持 OpenSSL 1.0.x 和更高版本。你必须升级到 Indy v10,它使用标准的 OpenSSL DLL,并且官方支持最高 OpenSSL 1.0.2u(对 OpenSSL 1.1.x 的支持是 work in progress,但是如果你需要使用 OpenSSL 1.1.x,你可以尝试一下,例如对于 TLS 1.3)。

关于c++ - C++Builder 中的 "Could Not Load SSL Library"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70257218/

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