log4cxx uses the WIN32 preprocessor macro in several places. Microsoft Visual C++ and Borland C++ predefine the _WIN32 macro when building on Win32, but not WIN32 (Visual Studio will explicitly add a /DWIN32 to the command line by default). I checked the Xerces-C code base to see how they handle this and they typically do something like:

#if defined(_WIN32) || defined(WIN32)

which would cause the appropriate Windows specific code to be compiled without having to remember to add a /DWIN32 to the command line, but would also support a hypothetical compiler that defined WIN32 but not _WIN32. Unless there is a compelling reason to use WIN32 over _WIN32, I would suggest changing to either _WIN32 or _WIN32 || WIN32.



Reply via email to