I am compiling a executable Win32 console application in 2010 which was developed in VS 2005. I have checked all the settings with VS 2005, still it throws following Build Error. Please help.
1>------ Rebuild All started: Project: vssreg, Configuration: Debug x64 ------
1> stdafx.cpp
1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(543): error C2065: '_In_opt_z_' : undeclared identifier
1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(543): error C2143: syntax error : missing ')' before 'const'
1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(543): warning C4229: anachronism used : modifiers on data are ignored
1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(543): error C2182: '_invalid_parameter' : illegal use of type 'void'
1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(543): error C2491: '_invalid_parameter' : definition of dllimport data not allowed
1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(543): error C2059: syntax error : ')'
1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(550): error C2065: '_In_opt_z_' : undeclared identifier
1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(550): error C2143: syntax error : missing ')' before 'const'
1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(550): warning C4229: anachronism used : modifiers on data are ignored
1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(550): error C2182: '_invoke_watson' : illegal use of type 'void'
When I tried to put /ShowIncludes option , im getting following includes info
1>------ Rebuild All started: Project: vssreg, Configuration: Debug x64 ------
1> stdafx.cpp
1> Note: including file: c:\rajesh\hak\hak27x64\2010\hak_27_x64\itxvssreg\stdafx.h
1> Note: including file: c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\iostream
1> Note: including file: c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\istream
1> Note: including file: c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ostream
1> Note: including file: c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ios
1> Note: including file: c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocnum
1> Note: including file: c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\climits
1> Note: including file: c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\yvals.h
1> Note: including file: c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h
1> Note: including file: C:\Program Files\Microsoft SDKs\Windows\v6.1\Include\sal.h
1> Note: including file: c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vadefs.h
This line from your show includes is a bit of a giveaway
C:\Program Files\Microsoft SDKs\Windows\v6.1\Include\sal.h
Somehow you are still including a VS 2005 header. As a first step I would try renaming the v6.1 directory see if that fixes the problem. If that’s it then look to your project settings so that C:\Program Files\Microsoft SDKs is not referenced.