Selon Hans-Christoph Steiner hans@at.or.at:
Cygwin is not _WIN32, by the way. It is a POSIX-style API much closer to GNU/Linux than Win32. MinGW is _WIN32 with as much POSIX/UNIX thrown in as possible.
the compiler define both _WIN32 and UNIX preprocessor, so it's troubling...
maybe the solution is here?