_MSC_VER (and should always be) is defined when compiling with the Microsoft compiler, so that it "evaluates the major and minor components of the compiler version number". Therefore, the code uses the wrong macro test, because it will always be defined for some value for your compiler, regardless of differences in the Windows environment.
Instead of destroying the _MSC_VER definition (which could lead to other problems if some code really wants to know the version of the compiler), you should instead correct the condition to use a more suitable macro test that distinguishes between the types of Windows environments with which you could collide.
See a more complete list of predefined macros that you can consider here.
http://msdn.microsoft.com/en-us/library/vstudio/b0084kay.aspx
You can either replace the condition ...
#if someOtherConditionGoesHere
... or renew it with additional conditions, for example
#if defined (_MSC_VER) && & someOtherConditionGoesHere
source share