Hello, I think that there is a bug into the uuid library, the one to be used with the W32API for the POSIX core. Please have a look to the following tiny test code:
//==================== #include <windows.h> #include <initguid.h> #include <ks.h> #include <stdio.h> int main() { printf("GUID_NULL=\"%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X\"\n", GUID_NULL.Data1, GUID_NULL.Data2, GUID_NULL.Data3, GUID_NULL.Data4[0], GUID_NULL.Data4[1], GUID_NULL.Data4[2], GUID_NULL.Data4[3], GUID_NULL.Data4[4], GUID_NULL.Data4[5], GUID_NULL.Data4[6], GUID_NULL.Data4[7] ); return 0; } //==================== Compiling it with x86_64-pc-cygwin or i686-pc-cygwin does not work: $ gcc e.c -o e.exe -luuid /usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: /tmp/ccyJK3d9.o:e.c:(.rdata$.refptr.GUID_NULL[.refptr.GUID_NULL]+0x0): undefined reference to `GUID_NULL' collect2: error: ld returned 1 exit status But it works fine when using MinGW-w64 compilers: $ x86_64-w64-mingw32-gcc e.c -o e.exe -luuid $ ./e.exe GUID_NULL="00000000-0000-0000-0000-000000000000" I discovered this issue when making a new FluidSynth package for CYGWIN for my repository of packages. Can you confirm it? Thank you very much for your time. Sincerely, Carlo Bramini. -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple