如何找到 Visual Studio 正在调用的确切编译器可执行文件?

Posted

技术标签:

【中文标题】如何找到 Visual Studio 正在调用的确切编译器可执行文件?【英文标题】:How do I find the exact compiler executable Visual Studio is calling? 【发布时间】:2020-08-06 07:55:46 【问题描述】:

我正在使用带有 C++ 的 Visual Studio。

出于某种特殊原因,我现在需要使用 CMake 来构建项目的一部分。我想告诉 CMake 使用我通常用于 Visual Studio 的相同编译器。

如何找到 Visual Studio 使用的确切的 cl.exe 编译器可执行路径?我的机器上有几个。

【问题讨论】:

你为什么要告诉 CMake? CMake 了解 Visual Studio,可以生成 MSBuild 项目(Visual Studio 在后台使用的构建系统)。 Visual Studio 本身也不知道 cl.exe 在哪里。 工具 > 选项 > 项目和解决方案 > 构建和运行,将构建输出详细程度提高到详细。您现在将在“输出”窗口中看到它正在执行 cl.exe。 XY 问题。使用 CMake 的 Visual Studio 生成器,它会找到一切。 cl.exe 本身是不够的,如果没有一大堆环境变量,它将无法工作。 【参考方案1】:

在 VS 中的菜单工具 > 命令行中选择 开发人员命令提示符,然后运行 ​​where cl。您还可以选择 Developer PowerShell 并运行 Get-Command cl 或特别是 (Get-Command cl).Source

您也可以打开开始菜单,输入developer并打开所需的终端

【讨论】:

怎么where cl不起作用,而where.exe cl起作用? @d4rk4ng31 in powershell whereWhere-Object 的别名,因此您必须使用 where.exe 来调用可执行文件。在 cmd 你只需要where【参考方案2】:

对于较新的版本,它可能位于 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\Hostx64\x64C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\Hostx86\x86(对于 32 位)。 14.26.28801 在您的 PC 中会有所不同

【讨论】:

以上是关于如何找到 Visual Studio 正在调用的确切编译器可执行文件?的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio Code 保存时自动格式化的问题

Visual Studio 2017颜色变化

如何在 Visual Studio 2008 中启动新的 CUDA 项目?

无法找到visual studio 2017生成工具

如何让我的应用程序使用 Visual Studio 找到第三方 DLL?

反汇编 Visual Studio