gpt4 book ai didi

IdStackWindows 中的 Delphi 2007 和 Indy10 编译错误

转载 作者:行者123 更新时间:2023-12-03 15:26:44 26 4
gpt4 key购买 nike

我刚刚将 Indy10 安装更新到最新版本 (5276),现在在尝试编译 Windows 应用程序时遇到错误。

IdStackWindows.pas(2364) Error: E2029 '..' expected but ';' found

问题似乎出在 TIdStackWindows.SetKeepAliveValues 中第 2364 行的 ka: tcp_keepalive 声明。

我在 Windows 7 Professional x64 上使用 Delphi 2007。

最佳答案

经过进一步调查,我发现有一个新的TCP_KEEPALIVE在 IdWinsock2.pas 中声明的常量:

  {$EXTERNALSYM TCP_KEEPALIVE}
TCP_KEEPALIVE = 3;

这与现有的 tcp_keepalive 冲突记录,因此已重命名为 _tcp_keepalive 。更新ka TIdStackWindows.SetKeepAliveValues() 中声明的变量这个新的类型名解决了错误。

然后我在 IdSSLOpenSSL.pas 中发现了另一个编译问题:

[DCC Error] IdSSLOpenSSL.pas(980): E2065 Unsatisfied forward or external declaration: 'IndySSL_CTX_use_certificate_chain_file'

可以通过添加缺少的 IndySSL_CTX_use_certificate_chain_file() 实现来解决此错误里面{$ELSE} {$IFDEF STRING_IS_UNICODE} 的部分从第 1155 行开始的 block ,并让它简单地调用 OpenSSL 的标准 SSL_CTX_use_certificate_chain_file()功能。

更新:
所有必要的修复(如上所述)均在修订版 5277 及更高版本中提供。

关于IdStackWindows 中的 Delphi 2007 和 Indy10 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30615304/

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