Linker 是否有方法从Microsoft C+;引用link.exe+;Visual Studio 2019中没有硬编码路径的工具集?

Linker 是否有方法从Microsoft C+;引用link.exe+;Visual Studio 2019中没有硬编码路径的工具集?,linker,environment-variables,visual-studio-2019,pre-build-event,Linker,Environment Variables,Visual Studio 2019,Pre Build Event,我在VisualStudio 2019中的C项目中使用微软C++工具集中的LIK.EXE。 问题是,每次Visual Studio 2019更新时,它都会因为MSVC文件夹的版本而更改路径 例如: 在VS 16.2.0中,link.exe的路径从..\14.21.27702更改为。。。至..\14.22.27905 我搜索了一个环境变量,但找不到它 我的完整命令行: C:\ProgramFiles(x86)\Microsoft Visual Studio\2019\Community\VC\To

我在VisualStudio 2019中的C项目中使用微软C++工具集中的LIK.EXE。 问题是,每次Visual Studio 2019更新时,它都会因为MSVC文件夹的版本而更改路径

例如: 在VS 16.2.0中,link.exe的路径从..\14.21.27702更改为。。。至..\14.22.27905

我搜索了一个环境变量,但找不到它

我的完整命令行:
C:\ProgramFiles(x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\Hostx86\x86\link.exe”/MACHINE:x86/VERBOSE/NOENTRY/DLL/OUT:“$(ProjectDir)$(OutDir)$(TargetName.ribbon.DLL”“$(ProjectDir)RibbonMarkup.res”)

我希望能够引用link.exe而不使用此容易出错的路径


在我的预构建事件中,有没有一种方法可以在不硬编码的情况下获取link.exe的路径?

在阅读了有关MSVC中环境变量的更多信息后,以及

我在“工具->命令行->开发人员命令提示符”中运行了命令“SET”,找到了带有我想要的路径的“vctoolsinsinstalldir”

但在预编译事件中,此环境变量没有设置值

所以我表演了: 调用“$(DevEnvDir)…\VC\Auxiliary\Build\vcvars32.bat” 设置“VCToolsInstallDir”值

最后,我的预构建事件如下所示:

调用“$(DevEnvDir)\..\VC\Auxiliary\Build\vcvars32.bat”
%vctoolsinsinstalldir%\bin\Hostx86\x86\link.exe”/MACHINE:x86/VERBOSE/NOENTRY/DLL/OUT:“$(ProjectDir)$(OutDir)$(TargetName.ribbon.DLL”“$(ProjectDir)RibbonMarkup.res”