【PE】Windows平臺命令列中使用vcvarsall.bat配置編譯環境
###Date: 2017/9/20
一、關於命令列編譯環境的配置方法
對於VS2015,%VS140COMNTOOLS%/VC下就有vcvarsall.bat,用於生成命令列編譯環境。 對於VS2010,vcvarsall.bat指令碼位於%VS100COMNTOOLS%/VC下面。
如果要在命令列生成 32位程式碼,就執行vcvarsall x86
如果要在32位系統下生成64位程式碼,就執行vcvarsall x86_amd64
如果要在64位系統下生成32位程式碼,就執行vcvarsall x86
或vcvarsall amd64_x86
前面一個名字代表你的當前電腦的體系結構,後面的這個名字代表你要生成的程式碼的體系結構。如果兩個名字一樣,就簡化為一個名字。
通過在純“命令提示符”視窗中執行 vcvarsall.bat,可設定環境變數以配置適用於 32 位或 64 位本機編譯的命令列,或適用於面向 x86、x64 或 ARM 處理器的交叉編譯的命令列。 如果未提供任何引數,vcvarsall.bat 將配置環境變數以供使用面向 x86 的 32 位本機編譯器。 但是,你可以用該編譯器來配置所有的編譯器。 如果指定在生成計算機體系結構上未安裝或不可用的編譯器配置,將會顯示一條訊息。 下表顯示了支援的引數。
Vcvarsall.bat 引數 | 編譯器 | 生成計算機體系結構 | 生成輸出體系結構 |
---|---|---|---|
x86 | x86 32 位本機 |
x86, x64 |
x86 |
x86_amd64 | x86 跨平臺上的 x64 | x86, x64 | x64 |
x86_arm | x86 跨平臺上的 ARM | x86, x64 | ARM |
amd64 | x64 64 位本機編譯器 | x64 | x64 |
amd64_x86 | x64 跨平臺上的 x86 | x64 | x86 |
amd64_arm | x64 跨平臺上的 ARM | x64 | ARM |
以下步驟顯示如何配置“命令提示”,以使用面向 x86 平臺的 32 位本機工具集。
執行 vcvarsall.bat
-
在命令提示符下,更改到 Visual C++ 安裝目錄。 (該位置取決於系統和 Visual Studio 安裝,但典型位置是 C:\Program Files (x86)\Microsoft Visual Studio version
cd "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC"
-
若要為 32 位 x86 命令列生成配置此“命令提示符”視窗,請在命令提示符下,輸入:
vcvarsall x86
Visual Studio 還提供 vcvars32.bat 來設定命令列環境。 vcvars32.bat 檔案僅限於設定適當的環境變數,以啟用 32
位 x86 命令列生成。 它與 vcvarsall x86
命令等效。
如果你要將 DEVENV 用於命令列生成,除非還指定了 /useenv 選項,否則由 vcvarsall.bat 或 vcvars32.bat 設定的
環境不會對你的生成產生任何影響。
參考:http://blog.csdn.net/10km/article/details/51722353