我正在嘗試設定 VS 工具的路徑以在命令列中運行它們,按照https://msdn.microsoft.com/en-us/library/x4d2c09s.aspx
我從提升的命令提示字元運行vcvarsall x64
並檢查變數的內容INCLUDE
:
然後我關閉命令提示符,再次打開它並檢查INCLUDE
變數:
如您所見,當我關閉 CMD 時,更改丟失了。我如何確保它們進入系統環境?
如果有必要的話,我正在使用Win 8.1。
答案1
這是因為它運行的批次文件用於Set
設定環境變數(C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat
是運行時運行的內容vcvarsall x64
)。
但Set
僅為目前命令列會話設定變數。您需要使用Setx
讓它在命令列會話之間「黏住」。
欲了解更多信息,也許可以查看這些其他 SU 問題和答案:
評論後編輯:
“但是設定指令在預設腳本中”
VCVarsAll 旨在運行為您即將執行的單一建置/操作設定環境,而不是永久設定它們。
Visual Studio 安裝特定的「命令提示字元」項目來存取工具(從您的連結:「...然後選擇本機工具或跨工具命令提示字元之一。」),並且這些特殊的命令提示字元捷徑執行 /批次文件,以確保在使用這些捷徑時設定正確。
您可以用自己的快捷方式複製這些快捷方式...
建立一個新的快捷方式cmd /k "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x64
,它將運行批次檔(使用 x64 作為環境選項),然後保持命令列視窗開啟。
然後,當您想要使用這些工具時,請使用該捷徑開啟命令提示字元。
答案2
是的,您可以將環境提取到文件:
cmd /C "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat" && set > d:\t.txt
然後您可以直接將此文件包含在 makefile 中或使用其他適合您需求的選項。