Since I'm a fan of static linking, I'm using mingw to build (unix) libraries for FPC.
Libwebsockets building instructions for MinGW are pretty accurate. Except for Winsock2.h modifications. (Probably due to changes in Mingw headers themselves)
The needed changes to Winsock2.h look like this:
#if(_WIN32_WINNT >= 0x0600) typedef struct WSAPOLLFD *PWSAPOLLFD, FAR *LPWSAPOLLFD; WINSOCK_API_LINKAGE int WSAAPI WSAPoll(LPWSAPOLLFD fdArray, ULONG fds, INT timeout); #endif // (_WIN32_WINNT >= 0x0600)
Apprently pollfd structure gets declared somewhere else (libwebsockets.h?) and having it declared here is causing a conflict. or maybe it's an issue with C compiler.