我试图在Visual Studio中使用OpenFrameworks(一个使用C ++的库)编译项目。构建设置为Release和X64,在项目属性中我将Platform Toolset设置为Visual Studio 2015(v140)
然而,每当我尝试构建项目时,我都会得到相同的错误(等等)
错误MSB8020 v141的构建工具(Platform Toolset =' v141') 无法找到。要使用v141构建工具进行构建,请安装 v141构建工具。
我知道v141来自新版本的MSVS 2017但我不想升级到新版本与OpenFrameworks不兼容。我已经尝试过多次从头开始重建项目,并且还查看了VCXPROJ文件并验证了所有内容都设置为V140 - 它确实如此。一切都很奇怪。
似乎在构建时,某些东西正在为v141设置一个要求,但我似乎无法找到它的来源。有没有人有想法?
答案 0 :(得分:17)
我有这样的问题。解决方案是:打开菜单“Project” - > Properties-> Configuration Properites-> General - 并选择platform toolset v140。
答案 1 :(得分:7)
在克隆基于节点的项目后尝试npm install
时遇到同样的错误。它有一个npm依赖项,需要编译C ++源代码。
我已修改我的VS2017
安装,以包含Individual Components
- > VC++ 2017 version 15.7 v14.14 latest v141 tools
但这没有帮助。
我连续应用了这些命令
npm install -g node-gyp
npm install --global --production windows-build-tools
第一个没有效果,但第二个没有效果,然后npm install
命令成功完成。
答案 2 :(得分:3)
对于此错误以及类似的错误,对于其他平台(例如VS2013),通常会发生此问题,因为您在安装了较新版本的VS后安装了旧版本的VS.我的观察是,这将影响所有Visual Studio C ++项目,并且您必须手动设置它们以针对您尝试在其下构建项目的给定VS版本的特定工具集。
答案 3 :(得分:0)
在其中一个答案的注释中解决了此问题,但对我有用。我同时安装了v140和v141构建工具,因此当我不得不将v140构建工具用于某些用途时,我将VCTargetsPath
变量设置为v140构建工具的路径。在我的环境变量中删除此变量最终为我解决了此问题。
答案 4 :(得分:0)
如果有人遇到相同的问题。 原因:当有人尝试打开在最新VS版本(VS2015 / 2017)上创建/构建的现有解决方案,并尝试使用向后/旧版本的VS实例打开时。然后可能会发生此错误。
请尝试以下步骤。 右键单击项目->属性->配置属性。 将``目标平台版本''设置为支持的操作系统版本,即8.1> Win7和10 Win10 将“平台工具集”设置为已安装的Visual Studio版本。
重建并享受:)
答案 5 :(得分: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
不确定这是否可能是 inside 视觉工作室的错误,但我希望这对未来的搜索者有所帮助...