2012-07-27 34 views
6

「開始」按鈕中Visual Studio 2010菜單中出現的「visual studio x64 win64命令提示符」,「visual studio x64交叉工具命令提示符」和「visual studio命令提示符」之間有什麼區別?VS2010中各種命令shell有什麼區別?

對於最有用的答案,我們必須清楚地瞭解我的無知級別:我更接近比任何微軟大師或IDE來菜鳥一般。在Linux的很長一段時間的專家,在純文本編輯器編輯源,手工Makefile文件等

我敢肯定的區別很簡單,也許是「明顯的」同在VS2010適度經驗的人。

+0

可能只是環境變量,但我不知道哪些副手;嘗試運行'env'並比較結果 – Frobzig 2012-07-27 21:17:09

+1

@Frobzig:在Windows命令shell中,所需的命令是'set',而不是'env'。 – 2012-07-27 23:43:59

回答

4

不同的批處理文件調整PATHLIBINCLUDELIBPATH,讓您可以輕鬆地運行cl.exe和其他的構建工具。

+0

但爲什麼三種變化? – DarenW 2012-07-27 21:36:49

+8

在64位機器上運行x64版本後,您可以構建64位對象文件並鏈接到64位庫,而無需指定任何絕對路徑,因爲它們都在環境變量中。 Cross工具用於在32位機器上構建64位二進制文​​件,最後一個用於構建32位版本。 – IronMensan 2012-07-27 21:42:10

+4

這應該是答案,而不是評論。 – DarenW 2012-07-27 22:40:09

1

這個答案主要關注VS2013。微軟的文檔http://msdn.microsoft.com/en-us/library/ms229859%28v=vs.110%29.aspx狀態:

與Visual Studio 2010開始,您可能會看到多個命令提示,根據的Visual Studio版本和已安裝的任何額外的軟件開發工具包。例如,64位版本的Visual Studio同時提供了32位和64位命令提示符。 (的大多數工具的32位和64位版本是相同的;然而,一些工具作出具體的32位和64位的環境的變化。)

它增加了,而幫倒忙

檢查各個工具的文檔,以確定應該使用命令提示符的版本。

http://msdn.microsoft.com/en-us/library/jj153218.aspx列出了五個這樣的命令提示:

  • 開發人員命令提示符下VS2013
  • VS2013 ARM交叉工具命令提示符
  • VS2013的x64跨工具命令提示符
  • VS2013 x64本機工具命令提示符
  • VS2013 x86本機工具命令提示符

在我的機器,只有第1,第3,而這些都存在,它們推出,分別爲5:

%COMSPEC%/ K 「」 C:\ Program Files文件(x86)的\微軟的Visual Studio 12.0 \ Common7 \工具\ VsDevCmd.bat 「」 %COMSPEC%/ K 「」 C:\ Program Files文件(x86)的\微軟的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」命令的命令在我的機器上給出相同的結果。而mmohamad的回答tp Difference between VsDevCmd.bat & vcvarsall.bat in VS2012也同意這一點。

但「64十字」不同的是:差(不包括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; 
相關問題