无法找到 Visual Studio 2015 平台工具集 'v141'。

36

我正在尝试在Visual Studio中编译一个使用OpenFrameworks(一个使用C ++的库)的项目。构建设置为 Release 和 X64,项目属性中我将Platform Toolset设置为Visual Studio 2015(v140)。

然而,每次我尝试构建该项目时,都会得到同样的错误信息(以及其他错误信息):

Error MSB8020 找不到 v141(Platform Toolset = 'v141')的生成工具。要使用 v141 的生成工具,请安装 v141 生成工具。

我知道 v141 是来自 MSVS 2017 新版本的,但我不想升级,因为新版本与 OpenFrameworks 不兼容。我已经尝试了多次从头开始重建项目,并查看了 VCXPROJ 文件并验证了所有设置都为 V140 - 确实如此。非常奇怪。

似乎在构建过程中,某些东西正在设置对 v141 的需求,但我找不到这是从哪里来的。有人有想法吗?


1
有人问了一个类似于你的问题,链接在这里:https://dev59.com/A1wZ5IYBdhLWcg3wJ9cp。 - Joe
谢谢,但正如我所提到的,我已经尝试了这两种修复方法(我知道的),即在属性中更改平台工具集和编辑vcxproj文件。 - cy_b0rg
你也将目标平台版本修改为了8.1吗? - Wormer
我正在寻找类似的解决方法,但是因为我不知道它们是否有效,所以还没有尝试过。它似乎需要安装一些东西。我正在寻找这个东西,但我刚刚安装了VS 2015的构建工具,但什么也没发生。我可以让它运行修复程序,但这需要很长时间。微软在玩什么游戏?我甚至还没有使用一年,现在就出了2017? - Douglas G. Allen
1
尝试对您的代码进行干净的检出,以便所有VS生成的文件都被删除。或者,尝试在构建目录中的所有文件中进行基于文本的搜索,寻找141的原因。 - rubenvb
你在vcxproj中是否也将ToolsVersion设置为14.0? - Biepbot Von Stirling
6个回答

26

我曾经遇到过这样的问题,解决方法是:打开菜单“项目”->属性->配置属性->常规,然后选择平台工具集v140。


11

在克隆一个基于Node的项目后,我尝试使用npm install时出现了相同的错误。它具有需要编译C++源代码的npm依赖项。

我已经修改了我的VS2017安装,包括Individual Components -> VC++ 2017 version 15.7 v14.14 latest v141 tools,但并没有帮助。

接着我按以下命令进行操作:

  1. npm install -g node-gyp

  2. npm install --global --production windows-build-tools

第一个命令没有效果,但第二个命令解决了问题,在此之后,npm install命令成功完成了。


...这非常有帮助,而且非常准确。 - ZJR
2
值得一提的是,在设置TeamCity机器时,我遇到了很多问题。除了上述操作外,我还卸载/重新安装了“Visual C++构建工具”工作负载,并清除了其他搜索建议设置的“VCTargetsPath”环境变量。 - fiat

6
这个问题在答案评论中已经得到了解决,但对我来说也有效。我同时安装了v140和v141构建工具,所以当我需要使用v140构建工具时,我将VCTargetsPath变量设置为v140构建工具的路径。最终删除环境变量中的此变量解决了我的问题。
图片链接:enter image description here

4

对于这个错误以及其他平台(例如VS2013)的类似错误,通常是因为您在安装较新版本的VS之后安装了旧版本。我的观察是,这将影响您所有的Visual Studio C++项目,并且您必须手动设置它们以针对您尝试在其下构建项目的特定版本的VS的工具集。


是的,确实是这样,我一段时间前修复了这个问题,但由于我已经放弃希望,所以没有再查看这个问题的状态。 - cy_b0rg
确实这是真正的原因。只是通过发布的解决方案进行了修复,谢谢。 - Jozo

1

enter image description here

如果有相同的问题.. 原因:当某人尝试使用旧版本的VS实例打开在最新的VS版本(VS2015 / 2017)上创建/构建的现有解决方案时,可能会出现此错误。
请尝试以下步骤。 右键单击项目->属性->配置属性。 将“目标平台版本”设置为支持的操作系统版本,即对于8.1> Win7和10 Win10 将“平台工具集”设置为已安装的Visual Studio版本。
重新构建并享受 :)

0

在命令行中构建时,我遇到了v141错误,但在Visual Studio中没有出现此问题:

v141(平台工具集=“v141”)的构建工具无法找到。要使用v141构建工具进行构建,请安装v141构建工具。或者,您可以通过选择“项目”菜单或右键单击解决方案,然后选择“重新定位解决方案”来升级到当前的Visual Studio工具。

结果发现是因为我调用了错误的vcvars,因此我使用了错误版本的msbuild.exe:

:: wrong (Visual Studio 2015)
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 >NUL
:: correct (Visual Studio 2017)
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvars64.bat" x64 >NUL

不确定这个错误是否可能出现在 Visual Studio 内部,但我希望这对未来的搜索者有所帮助...


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