Visual C++的cl.exe編譯器是微軟推出的編譯器,干什么的怎么用也不贅述了。大多數情況都是直接在Visual Studio里寫代碼然后點擊“播放”按鈕讓Visual Studio自動處理編譯連接執行的問題,但是偶爾也會出現比如寫個Hello World
,I'm newBee ShineShine
之類的簡單的程序,這類程序也啟動VS來寫的話似乎有種殺雞焉用宰牛刀的行為,那么可以在PowerShell或者CMD里使用cl.exe手工執行編譯操作。
如果需要編譯一份C/C艹文件,配置系統變量前直接敲入cl.exe [Args]
肯定會報錯,查了一下MSDN可以看到在編譯之前需要執行批處理vsvars32.bat
,在
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools
目錄下(根據VS版本修訂版本號)。之前為了圖簡單一直是這樣做了,結果在自己寫的在線評測里面發現C/C艹經常編譯超時,有個原因就是這個批處理還是占了不少時間,所以得用設環境變量的方法來回避執行這個蠻肥的批處理。
根據網上的資料可以找到需要設置:PATH
、LIB
和INCLUDE
這三個環境變量。一般來說PATH
都有的,所以追加PATH
后添加LIB
和INCLUDE
就可以了。但是搜索給出來的結果比較陳舊,主要是VS2005之類的老版本,畢竟10年過去了,所以按照網上的整下來會出現頭文件不對、庫文件不對的問題,主要的原因是VS2015里面加入了ucrt這個東西,所以需要額外引入Windows 10的SDK,還有uuid.lib
得在Windows 8.x的SDK里找到,所以配置起來還是蠻麻煩的。
PATH追加###
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE;
LIB###
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x86;C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86
INCLUDE###
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt
不同操作系統版本是有點變化的,值得注意的是x86/x86_64這個需要根據目標設定選擇,Windows Kits會有一些變化,原則路徑大致相同,所以以上的配置信息謹慎復制粘貼。
然后就可以直接在命令行里使用cl
命令來編譯C/C艹文件了,具體cl編譯參數查閱MSDN。