In globalDefinitions_visCPP.hpp there is a set of macros defining POSIX names to corresponding names with a leading underscore. This is done because Visual Studio 2005 deprecated these names, with the leading-underscored functions being the recommended replacement.
We could eliminate these macros by adding _CRT_NONSTDC_NO_WARNINGS and _CRT_DECLARE_NONSTDC_NAMES to the microsoft version of ALWAYS_DEFINES_JVM in flags-cflags.m4. Given that we are using the no-underscore names anyway, that seems like a cleaner approach.
https://docs.microsoft.com/en-us/cpp/c-runtime-library/compatibility
Alternatively, if the relevant functions have (or should have) os:: wrappers, then we may not need the function macros or the _CRT macros at all.