stdafx.h is one of the "warts" of the Microsoft Visual C++ compiler. It appears whenever you start a new project. It only turns on the full ANSI/ISO standards when compiling code not previously compiled by Visual C++. I wonder if you'd run into the same problems if you tried compiling it with MinGW compiler under the DevC++ or Code::Blocks IDE instead. Does the source documentation say anything about what version of Visual C++ it has been compiled with?