簡體   English   中英

使用 VS Build Tools 安裝了 C++,但找不到 CL.exe

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM