VS2010中各种命令shell之间有什么区别?

时间:2012-07-27 21:14:46

标签: visual-studio-2010 shell

在“开始”按钮的Visual Studio 2010菜单中出现“visual studio x64 win64命令提示符”,“visual studio x64 cross tools命令提示符”和“visual studio命令提示符”之间的区别是什么?

对于最有用的答案,让我们清楚一下我的无知程度:在微软或IDE的任何领域,我都比大师更接近noob。 Linux的长期专家,在纯文本编辑器中编辑源代码,手工制作Makefiles等。

我确信这些差异很简单,对于在VS2010拥有适度经验的人来说,这可能是“显而易见的”。

2 个答案:

答案 0 :(得分:4)

不同的批处理文件会调整PATHLIBINCLUDELIBPATH,以便您可以轻松运行cl.exe和其他构建工具。

答案 1 :(得分:1)

这个答案主要集中在VS2013上。 Microsoft的文档http://msdn.microsoft.com/en-us/library/ms229859%28v=vs.110%29.aspx声明:

  

从Visual Studio 2010开始,您可能会看到多个命令提示,具体取决于Visual Studio的版本以及您安装的任何其他SDK。例如,64位版本的Visual Studio提供32位和64位命令提示。 (大多数工具的32位和64位版本都是相同的;但是,有些工具会针对32位和64位环境进行更改。)

它补充说,而不是无益

  

检查各个工具的文档,以确定应使用哪个版本的命令提示符。

页面http://msdn.microsoft.com/en-us/library/jj153218.aspx列出了五个这样的命令提示:

  
      
  • VS2013的开发人员命令提示符
  •   
  • VS2013 ARM Cross Tools命令提示符
  •   
  • VS2013 x64交叉工具命令提示符
  •   
  • VS2013 x64本机工具命令提示符
  •   
  • VS2013 x86本机工具命令提示符
  •   

在我的机器上,只有第1,第3和第5个存在,并分别启动:

%comspec%/ k“”C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ Tools \ VsDevCmd.bat“”     %comspec%/ k“”C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ VC \ vcvarsall.bat“”x86_amd64     %comspec%/ k“”C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ VC \ vcvarsall.bat“”x86

要检查环境变量,首先运行set命令和“x86 Native”shell会在我的计算机上提供相同的结果。 mmohamad的回答tp Difference between VsDevCmd.bat & vcvarsall.bat in VS2012同意这一点。

但“x64 Cross”不同:区别在于(为简洁起见,不包括PathLIBPATH):

 + CommandPromptType=Cross
 + FrameworkDIR64=C:\WINDOWS\Microsoft.NET\Framework64
 + FrameworkVersion64=v4.0.30319
 + Platform=x64
 - LIB=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\LIB;C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86;
 + LIB=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\LIB\amd64;C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x64;