在命令行中使用 cl.exe 編譯器


本來網上已經有很多教程了, 但是要么老舊, 要么習慣x差, dll文件復制來復制去......

把自己的配置發上來, 作為一個存檔.

配置

新建環境變量 MSVC_x86_OR_x64, 值為 x64. ( 使用 x64 編譯器

新建環境變量 WINDOWS_SDK_VERSION, 值為 10.0.18362.0. ( 去目錄 C:\Program Files (x86)\Windows Kits\10\Include

在 PATH 里添加一項 (注意版本號以實際為准

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\Host%MSVC_x86_OR_x64%\%MSVC_x86_OR_x64%

新建環境變量 INCLUDE, 添加以下幾項

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\
C:\Program Files (x86)\Windows Kits\10\Include\%WINDOWS_SDK_VERSION%\ucrt\
C:\Program Files (x86)\Windows Kits\10\Include\%WINDOWS_SDK_VERSION%\um
C:\Program Files (x86)\Windows Kits\10\Include\%WINDOWS_SDK_VERSION%\shared

新建環境變量 LIB, 添加以下幾項

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\lib\%MSVC_x86_OR_x64%\
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\ucrt\%MSVC_x86_OR_x64%\
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\ucrt\%MSVC_x86_OR_x64%\

之后重啟終端, 即可使用 cl.exe 了. 示例如下:

cd D://example/a.cpp
cl /EHsc a.cpp

如果在使用 Code-Runner 的話, 可以將下面的腳本添加進配置中

ConsoleTimer 為一個簡單的命令行計時小程序, 如果沒有, 簡單刪掉即可

"c":"cd $dir && cl /EHsc '$fileName' && del .\\'$fileNameWithoutExt.obj' && ConsoleTimer .\\'$fileNameWithoutExt'",
"cpp" : "cd $dir && cl /EHsc '$fileName' ; del '$fileNameWithoutExt.obj' && ConsoleTimer .\\'$fileNameWithoutExt'",

擴展 - Opencv

在環境變量 INCLUDE 中添加一項

D:\Packages\opencv\build\include

PATH 中添加

D:\Packages\opencv\build\x64\vc15\bin

確保環境變量 MSVC_x86_OR_x64 值為 x64.

Code-Runner 腳本 ( 這里為了減小污染把引用的lib放進了命令行中, 如果不想這么做, 將其所在目錄放進環境變量 LIB 中亦可

"cpp":"cd $dir && cl /c /EHsc '$fileName' && link '$fileNameWithoutExt.obj' 'D:\\Packages\\opencv\\build\\x64\\vc15\\lib\\opencv_world340.lib' && del '$fileNameWithoutExt.obj' && ConsoleTimer .\\'$fileNameWithoutExt'",

擴展2 - Sqllite

Code-Runner 腳本

"cpp" : "cd $dir && cl /EHsc '$fileName' /link 'D:\\Program Files\\sqlite\\lib\\x64\\sqlite3.lib' && del '$fileNameWithoutExt.obj' && ConsoleTimer .\\'$fileNameWithoutExt'"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM