29.09.2024 18:47, Andrew Dunstan wrote:
Yeah, src/include/port/win32/sys/socket.h has:#include <winsock2.h> #include <ws2tcpip.h> #include <windows.h>I'm inclined to think we might need to reverse the order of the last two. TBH I don't really understand how this has worked up to now.
As far as I can see, in my environment _WIN32_WINNT defined with #ifndef _WIN32_WINNT #define _WIN32_WINNT 0x603 #endif inside C:/msys64/ucrt64/include/_mingw.h, which can be included from C:/msys64/ucrt64/include/corecrt.h:10, from C:/msys64/ucrt64/include/crtdefs.h:10, from ../../../src/include/pg_config_os.h:40, from ../../../src/include/c.h:56, from ../../../src/include/postgres_fe.h:25, from fe-secure-common.c:20 or (if HAVE_CRTDEFS_H is not defined): from C:/msys64/ucrt64/include/corecrt.h:10, from C:/msys64/ucrt64/include/corecrt_stdio_config.h:10, from C:/msys64/ucrt64/include/stdio.h:9, from ../../../src/include/c.h:59, from ../../../src/include/postgres_fe.h:25, from fe-secure-common.c:20 or (if winsock2.h included directly): from C:/msys64/ucrt64/include/windows.h:9, from C:/msys64/ucrt64/include/winsock2.h:23 so including winsock2.h is sufficient to include _mingw.h, but it doesn't redefine _WIN32_WINNT, unfortunately. Best regards, Alexander
