VS2019 中 nmake 的位置不是通用的。还是我错过了啥?

Posted

技术标签:

【中文标题】VS2019 中 nmake 的位置不是通用的。还是我错过了啥?【英文标题】:Location of nmake in VS2019 is not generic. Or am I missing something?VS2019 中 nmake 的位置不是通用的。还是我错过了什么? 【发布时间】:2021-08-16 18:20:26 【问题描述】:

我正在创建一个通用脚本以部署在构建服务器上,以使用 VS 2019 构建我们的项目。nmake 在 VS 2019 中的位置是:C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin。包含像 14.29.30133 这样的数字不允许脚本非常通用。 在前几代的 VS 中,nmake 路径是这样的:C:\Program Files\Microsoft Visual Studio 10.0\Vc\binC:\Program Files (x86)\Microsoft Visual Studio 11.0\Vc\bin

也许我错误地安装了 MSVC?任何帮助表示赞赏。 TIA。

【问题讨论】:

我正在尝试使用 VS2019 编译 edk2 uefi 映像。如果 VS2019_PREFIX 设置为上面的 14.29.30133 文件夹,它可以工作。但如果可能的话,我想设置为 MSVC 下的最新文件夹。参考:github.com/tianocore/edk2/blob/master/BaseTools/Conf/… 【参考方案1】:

您正确安装了 MSVC,是的,这可能会引起一些麻烦,因为文件夹名称中的版本号会随着 VS 2019 的每个新次要版本而变化。

要解决此问题,请使用此命令行 sn-p 将最新安装的 nmake.exe 的路径放入变量 %NMAKE%

 set VSPATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional
 for /f %%i in ('dir "%VSPATH%\VC\Tools\MSVC" /b') do set VCTOOLSVERSION=%%i
 set NMAKE="%VSPATH%\VC\Tools\MSVC\%VCTOOLSVERSION%\bin\HostX86\x86\nmake.exe"

这适用于我测试过的所有 Visual Studio 2019 中间版本。

【讨论】:

以上是关于VS2019 中 nmake 的位置不是通用的。还是我错过了啥?的主要内容,如果未能解决你的问题,请参考以下文章

解决‘nmake‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

VS2012:'nmake' 未被识别为内部或外部命令

使用 nmake 为 VS2010 构建 Qt 返回链接错误

nmake 无法使用 VS 2012 编译 TSF 示例

fluent中的UDF能用vs2010编译吗?

Qt .pro 转换为 nmake Makefiles 无法处理静态库,在 VS2008 解决方案中同样有效