It seems a lot of assumptions about the preprocessor are made that don't apply to the preprocessor on Windows.