Oh, one more thing. If you compile with /std:c11 or /std:c17, does that fix the problem? If so, perhaps we should just recommend that somewhere. If not, I have some more questions: How about if you instead compile with -DPORT_TO_C89? I am asking these questions because of the following recently-changed code in private.h: #if PORT_TO_C89 && __STDC_VERSION__ < 199901 && !defined restrict # define restrict /* empty */ #endif Perhaps the "#define restrict /* empty */" is needed in your Microsoft-based setup. I have some other questions about your compiler, assuming you don't use any of the above flags: What is the value of __STDC_VERSION__ on your platform? And what is the value of _MSC_VER? Does "#include <stdbool.h>" work? Does "#include <inttypes.h>" work? How about "#include <stdint.h>"? Is there a snprintf function?