После дальнейших исследований я обнаружил, что есть новая постоянная 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, и есть он просто вызывает функцию OpenSSL SSL_CTX_use_certificate_chain_file()
.
ОБНОВЛЕНИЕ:
Все необходимые исправления (описанные выше) доступны в редакции 5277 и более поздних версий.
Теперь, пусть также Remy об этом исправлении. – RBA
Я уверен, что Remy Lebeau увидит этот вопрос, рассмотрит изменения и зафиксирует исправление в ближайшее время. – MikeT
Я делаю это прямо сейчас ... –