The code snippet shows different compilations on 3 platforms with different preprocessors/macros.

#if defined _M_IX86
cout << _T(" (x86)");
#elif defined _M_X64
cout << _T(" (x64)");
#elif defined _M_IA64
cout << _T(" (Itanium)");

Now I am porting a Win32 project to 64-bit Windows. In the 64-bit project, I don't find where is _M_X64, i.e. no such statement as "#define _M_X64" in the header or source files, I open the project property, and don't find _M_X64 preprocessor/macro defined in the the linker or c++ tabs. by the way I run visual studio 2008 on 32-bit windows XP.

Should I manually add the statement "#define _M_X64" into the project? (However, according to MSDN, this macro cannot be redefined. ).

Or is there any other ways I don't know and should follow? Thanks for help!