10

The vcvarsall.bat that does setup de build environment let you choose between x86 | ia64 | amd64 | x86_amd64 | x86_ia64.

First option is obvious for 32bit, but the question is: what would be the optimal option between the other 4 if you want to build for 64bit and you want to run on all 64 bit machines.

Let say that you don't have time/resources to make 4 builds for 64 and you have to choose only one of them?

sorin
  • 161,544
  • 178
  • 535
  • 806

2 Answers2

14

I found a page that clarifies this issue http://msdn.microsoft.com/en-us/library/x4d2c09s%28VS.80%29.aspx

  • 32/64 OS building for 32 => x86
  • 32 OS building for 64 => x86_amd64
  • 64 OS building for 64 => amd64

And you can ignore the other options because Itanium does not have a real market share.

sorin
  • 161,544
  • 178
  • 535
  • 806
  • Interestingly however, `Visual Studio uses the 32-bit cross compiler even on a Windows 64-bit computer.` from https://msdn.microsoft.com/en-us/library/ms246588(v=vs.80).aspx – Cobertos Mar 27 '15 at 13:41
1

ia64 (Itanium) is a very redundant CPU (Google for ia64 market share) and you should use it only if you're going to deploy to that architecture.

x86_amd is for running 32 bit on amd64 architecture, use it only if your code doesn't compile/work under amd64.

Shay Erlichmen
  • 31,691
  • 7
  • 68
  • 87