When having VS2012 installed, I see many Command Prompt types
What are they and in what case should I use one over another ?
I read this and many answers on SO, but they all seem ambiguous
The different command prompts are shortcuts which set up paths and the like so you can build from the command line just by invoking 'cl.exe' or 'link.exe' and other associated tools.
2-5 are self explanatory - if you run cl.exe blah.cpp
then the version of cl [and associated tools]invoked will be different for each window:
2) compiler that generates arm code
3) 32 bit compiler that generates 64 bit code
4) 32 bit compiler that generates 32 bit code
5) 64 bit compiler that generates 64 bit code
If you don't compile from the command line just use number 1 and that will set up non platform specific tools - such as tf.exe. If you do compile from the command line, choose from 2-5 depending on what platform you're targeting [and in the case of 2 or 4 what bit'ness of Windows you're currently running].
They matter when you build native code from the command line. Like code written in the C, C++, C++/CLI or C++/CX languages. Such projects are highly dependent on the target architecture since the code gets directly translated to machine code. The tooling for them needs to be selected properly, like the compiler, linker and libraries. And you use a build tool other than MSBuild.exe. Like makefiles or running the tools directly.
Some tools used in .NET projects are architecture dependent as well. Like Regasm.exe. Although you tend to run them directly with the full path instead of relying on the Start menu shortcut to set the PATH correctly. In case of doubt, type "where toolname.exe" and it will show you which toolname.exe is going to be used when you type its name on the command prompt without a full path.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With