During Windows SDK setup you are given the option to select VC++ compilers for every platform you wish to develop for.  The Windows SDK for Server 2008 and .NET Framework 3.5 (available as a beta now) ships 5 new VC++ version 9 (Visual Studio 2008) compilers which are installed in this way:

 

Your host machine is…

You want to target…

You should select this SDK compiler…

And the SDK will install this compiler…

X86

X86

X86

X86 native compiler

X86

X64

X64

X86_amd64 cross-compiler

X86

IA64

IA64

X86_IA64 cross-compiler

X64

X64

X64

X64 native compiler

X64

X86

X86

X86_amd64 cross-compiler

X64

IA64

IA64

X86_IA64 cross-compiler

IA64

IA64

IA64

IA64 native compiler

IA64

X86

X86

X86_IA64 cross-compiler

IA64

X64

X64

X86_amd64 cross-compiler

 

The following list, created from the MSDN article How to: Enable a 64-Bit Visual C++ Toolset at the Command Line, describes the various versions of cl.exe (the Visual C++ compiler):

 

·         x86 on x86 (X86 native compiler): Allows you to create output files for x86 machines. This version of cl.exe runs as a 32-bit process, native on an x86 machine and under WOW64 on a 64-bit Widows operating system.

·         x64 on x64 (X64 native compiler): Allows you to create output files for x64. This version of cl.exe runs as a native process on an x64 machine.

·         Itanium on Itanium (IA64 native compiler): Allows you to create output files for Itanium. This version of cl.exe runs as a native process on an Itanium machine.

·         x64 on x86 (X86_amd64 cross-compiler): Allows you to create output files for x64. This version of cl.exe runs as a 32-bit process, native on an x86 machine and under WOW64 on a 64-bit Windows operating system.

·         Itanium on x86 (X86_IA64 cross-compiler): Allows you to create output files for Itanium. This version of cl.exe runs as a 32-bit process, native on an x86 machine and under WOW64 on a 64-bit Windows operating system.

 

Having compiler issues?  Look for the Windows SDK Workaround articles coming out this month in advance of the RC0 release of the Windows SDK for Server 2008 and .NET Framework 3.5.  For example, see SDK Workaround: Visual C++ cross-compilers fail to launch on 64-bit platforms.  The Visual C++ Team has posted an interesting article, What compiler does the compiler team use and decoding version numbers.