Directly speaking, this problem is caused by using an older version of compiler(cl.exe) than your VS's one. Take a look carefully underlined lines explaining version and copyright of the compiler. Again, that build log was captured from VS2010 but it's saying that copyright is valid in 1984-1998. In VS2008 and VS2010(earlier versions are not tested), when you try to build a project, VS searches a compiler to use for your build. In this step, VS doesn't choose it's own cl.exe directly but searches directories specified in the environmental variable 'path' first. (I think that VS calls cl.exe without path) Because of that, if there's another version of cl.exe in some directory of env-path, VS unexpectedly use it! This is the reason why your VS use an older one than yours. In my case, there was another cl.exe in C:\Windows\SysWOW64(I'm using Windows 7 64bit).