Get rid of all warnings and errors on Windows.

This increases msvc compatibility.
Why don't you like my macros? I do believe it might be a bit clearer, so I'll go ahead and do it.