【发布时间】:2021-02-12 02:43:52
【问题描述】:
对于自定义构建目标,我希望获得在 ClCompile 目标中调用的正确版本 cl.exe 的完整路径。
来自retrieve path to cl.exe,我知道是%VCINSTALLDIR%\bin\x86\Hostx86\cl.exe 或%VCINSTALLDIR%\bin\x64\Hostx64\cl.exe,但我不想为x84 与x64 逻辑编写程序。
在 VCTargets\Microsoft.CppCommon.Targets 中,我发现有属性 ToolExe 和 ToolPath 被设置为 $(CLToolExe) 和 $(CLToolPath)。
覆盖这些属性也为我成功更改了编译器的路径,因此这些是属性名称是正确的。 Override Compiler in MSBuild
但是当我尝试在我的自定义目标 exec 类中打印 %(CL.ToolPath) 或 $(CLToolPath) 时,它什么也没打印。我还查看了 Visual Studio,但找不到它的设置位置。
是否有可以提供 cl.exe 完整路径的变量,或者有什么方法可以在我的自定义目标中打印 CL 任务的属性 ToolPath?
【问题讨论】:
-
嗨,关于这个问题的任何更新?
标签: c++ visual-studio msbuild msbuild-task