我在Visual Studio 2019的ac#项目中的预生成事件中使用来自Microsoft C ++工具集的link.exe。
问题是每次Visual Studio 2019更新时,由于MSVC文件夹的版本,它都会更改路径。
例如:在VS 16.2.0中,link.exe的路径从.. \ 14.21.27702 ...更改为.. \ 14.22.27905.。
我搜索一个环境变量,但找不到。
我的完整命令行: C:\Program Files (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的路径?
我在“工具->命令行->开发人员命令提示符”中运行了命令“ SET”,并找到了具有所需路径的“ VCToolsInstallDir”。
但是在预编译事件中,此环境变量没有设置值。
所以我执行了:调用“ $(DevEnvDir).... \ VC \ Auxiliary \ Build \ vcvars32.bat”以设置“ VCToolsInstallDir”值。
最后,我的预构建事件如下所示:
call "$(DevEnvDir)..\..\VC\Auxiliary\Build\vcvars32.bat" "%VCToolsInstallDir%\bin\Hostx86\x86\link.exe" /MACHINE:x86 /VERBOSE /NOENTRY /DLL /OUT:"$(ProjectDir)$(OutDir)$(TargetName).ribbon.dll" "$(ProjectDir)RibbonMarkup.res"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句