On Windows, gcc thinks that printf means ms_printf, which is not the case when we #define _POSIX_SOURCE 1.