[英]Installed C++ with VS Build Tools, but can't find CL.exe
我們有一個基於docker pull mcr.microsoft.com/dotnet/framework/sdk:4.8
的 Jenkins 構建代理
容器的部分 Docker 文件會引入額外的工作負載,如下所示
vs_buildtools.exe --quiet --wait --norestart --nocache modify \
--installPath "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\BuildTools" \
--add Microsoft.VisualStudio.Workload.VCTools \
--add Microsoft.VisualStudio.Workload.DataBuildTools \
--add Microsoft.VisualStudio.Workload.UniversalBuildTools
但是 C++ 項目的構建失敗,說他們找不到 CL.EXE。
我已經用谷歌搜索了這個問題,每個遇到錯誤說他們找不到 CL.EXE 的人都得到了答案,只需運行vsvars.bat
並為他們解決了這個問題。 但 CL.exe物理上不存在。 我們去 C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.31.31103 並沒有 bin 文件夾。
我們在整個容器中搜索了 cl.exe,並在某個 c:\windows\WinSxS\ 文件夾中看到了它,我們嘗試將其添加到 PATH 環境中,但它收到了一個錯誤,提示它與 Windows 版本不兼容。
是否有某些原因它不會安裝實際的編譯器?
您還需要傳遞--includeRecommended
或--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64
作為參數。
MSVC v143 - VS 2022 C++ x64/x86 構建工具(最新)在VCTools 工作負載包含的組件中列為推薦,因此默認情況下不與Microsoft.VisualStudio.Workload.VCTools一起安裝。
這是來自VS Installer 命令行參數參考的--add
參數的描述:
在安裝或修改命令期間,此可重復參數指定要添加的一個或多個工作負載或組件 ID。 已安裝工件的必需組件,但未安裝推薦或可選組件。 您可以使用
--includeRecommended
和/或--includeOptional
參數全局控制其他組件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.