Quoting Rob Schellhorn <rschellhorn at xs4all.nl>: > In typedef.h PI is declared as follows: > > #ifdef WIN32 > #define M_PI 3.141592654 > #endif // WIN32 > > My windows/cygwin install gives a warning that M_PI is already defined, Hello, the above test is for a "real" win32-build (using an msvc compiler) ; a cygwin build is more like a "unix" build in my opinion, since the purpose of cygwin is to make the win32-environment look like unix. Therefore I would not set the WIN32 macro on when building with cygwin, but perhaps this double-check is the best option: #ifdef WIN32 #ifndef M_PI #define M_PI 3.141592654 #endif // M_PI #endif // WIN32 Regards, Tommi