Visual Studio 2017: 工具集v140的vcvars

7
我安装了Visual Studio 2017和工具集v140和v141。要使用v140工具集,我需要通过vcvars设置必要的环境。然而,在运行必要的vcvars时,我遇到了各种错误。我正在从此目录中获取vcvars - C:\Program Files(x86)\Microsoft Visual Studio\Shared\14.0\VC - 因为我需要启动与v140工具集一起工作的环境。
例如,如果我运行vcvarsall,那么我会得到以下错误:
脚本用法错误。正确用法是: vcvarsall.bat [选项] 或 vcvarsall.bat [选项]存储 或 vcvarsall.bat [选项] [版本号] 或 vcvarsall.bat [选项]存储[版本号] 其中[选项]是:x86 | amd64 | arm | x86_amd64 | x86_arm | amd64_x86 |> amd64_arm 其中[版本号]可以是完整的Windows 10 SDK版本号或“8.1”以使用Windows 8.1 SDK :存储参数设置环境变量以支持存储(而不是桌面)开发。 例如: vcvarsall.bat x86_amd64 vcvarsall.bat x86_arm store vcvarsall.bat x86_amd64 10.0.10240.0 vcvarsall.bat x86_arm store 10.0.10240.0 vcvarsall.bat x64 8.1 vcvarsall.bat x64 store 8.1:
请确保已安装Visual Studio或C ++ Build SKU。
如果我运行特定的文件vcvars,例如vcvars32.bat,那么我会得到另一个错误:
无法确定VS Common Tools文件夹的位置。
是否有人遇到了同样的问题,可以帮忙吗? 谢谢。

你确定路径设置正确吗?这个链接或许可以帮到你:https://schrievkrom.wordpress.com/2011/01/25/error-cannot-determine-the-location-of-the-vs-common-tools-folder/ - Stuti Rastogi
@StutiRastogi,路径C:\ Windows \ system32已经写入环境变量PATH中。 - Sergey Vasiliev
对我来说运行良好。我只能建议重新安装/修复,或确保已安装“Visual Studio Build Tools 2017”。 - Phil
@Phil,我尝试安装BuildTools 2017并对VS进行“修复”。但是没有帮助。项目在Visual Studio中成功编译,但我需要使用“vcvars”精确初始化环境。 - Sergey Vasiliev
4个回答

1

新版的vcvars*.bat文件有一个额外的命令行参数:vcvars_ver

要使用VS2015工具链设置环境并与VS2017一起使用,必须将新的vcvars*.bat调用附加-vcvars_ver=14.0

例如:"c:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat" x64 8.1 -vcvars_ver=14.0x64使用Windows 8.1 SDK和MSVC2015工具链设置了一个环境。

无需更改注册表中的任何值或修改已安装的批处理文件。

来源:https://developercommunity.visualstudio.com/solutions/140023/view.html


0

如Microsoft论坛这里所述,修改vcvarsall.bat脚本似乎可以解决安装最新VS工具时出现的问题(对于我的安装来说确实如此)

如果链接失效:解决方案是注释第8行(或第10行,取决于文件开头是否有两个空行)


0
我已经通过以下方法解决了这个问题。对于工具集v140vcvars试图从注册表中获取所需的数据(Visual Studio 14.0安装目录),但由于无法执行此操作,因此会出现错误退出。如果您向Windows注册表添加所需的值,vcvars将正常工作。如果在Visual Studio 2017中安装了工具集v140,则默认安装路径为C:\Program Files (x86)\Microsoft Visual Studio\Shared\14.0\
您需要找到现有密钥所在的位置,该位置设置了Visual Studio 2017安装目录(在我的情况下,它是HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\SxS\VS7),并添加名称为14.0和值为C:\Program Files (x86)\Microsoft Visual Studio\Shared\14.0\的键。

1
在最新的更新中,他们一定改变了它。Platform Tools 14.0 在 Program Files 中直接创建了一个名为“Microsoft Visual Studio 14.0”的文件夹,注册表中有正确的条目,但你猜怎么着,vcvars 仍然不起作用。 - Vega4

0
问题所在行。
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community>CALL "VC\Auxiliary\Build\vcvars64.bat" -vcvars_ver=14.16 10.0.18362.0

我刚刚去了 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build,并找到了 vcvars64.bat

研究了一下后,我进行了如下修改:

REM @call "%~dp0vcvarsall.bat" x64 %*
@call "%~dp0vcvarsall.bat" x64 

摆脱有问题的14.16 10.0.18362.0参数。成功了。不会对寄存器进行搞乱。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接