Только что получил последние источники из Subversion для Indy 10, и я получаю эту ошибку:
[Ошибка DCC] IdWinsock2.pas (2421): E2003 Необъявленный идентификатор: 'SIZE_T'
Код в строке 2421 IdWinsock2.pas:
{$EXTERNALSYM WSACMSGHDR}
WSACMSGHDR = record
cmsg_len: SIZE_T; // error.
cmsg_level: Integer;
cmsg_type: Integer;
{ followed by UCHAR cmsg_data[] }
end;
Это кажется довольно простой ошибкой.Я как бы ожидал, что источники Indy будут встроены в последнюю версию Delphi из коробки.Это должно быть что-то не так с моей стороны, но я не знаю, что.
Похоже, стабильные источники тегов indy10 \ Indy10 \ tags \ Indy 10.5.7 работает нормально.Это просто ствол, который жарен.
Обновление: чтобы попытаться это исправить, я добавил это:
type
SIZE_T = Cardinal;
Затем он умирает позже в том же IdWinsock2.pas, на 6238:
function WSA_CMSGHDR_ALIGN(const Alength: SIZE_T): SIZE_T;
И его external-sym определен в строке 3218 по-разному:
function WSA_CMSGHDR_ALIGN(const Alength: PtrUInt): PtrUInt;
Мое лучшее предположение - кто-то находится в середине взлома при попытке выполнить эту работу в 64-битном FPC ине заметил, что они сломали возможность компилировать его в Delphi.