Visual Studio Platform 2015 Toolset = 'v141' не может быть найден

Я пытаюсь скомпилировать проект, используя OpenFrameworks (библиотека, которая использует C++) в Visual Studio. В сборке установлены Release и X64, а в свойствах проекта я установил набор инструментов платформы Visual Studio 2015 (v140)

Однако каждый раз, когда я пытаюсь построить проект, я получаю ту же ошибку (среди других)

Ошибка MSB8020 Инструменты сборки для v141 (Platform Toolset = 'v141') не могут быть найдены. Чтобы построить с помощью инструментов сборки v141, установите инструменты сборки v141.

Я знаю, что v141 - это новая версия MSVS 2017, но я не хочу обновляться, так как новая версия не совместима с OpenFrameworks. Я попытался перепроектировать проект с нуля несколько раз, а также посмотрел файл VCXPROJ и подтвердил, что все установлено на V140 - и это так. Все очень странно.

Кажется, что при сборке что-то устанавливает требование для v141, но я не могу найти, откуда это происходит. У кого-нибудь есть идея?

Ответ 1

У меня была такая проблема. Решение: открыть меню "Проект" → Properties-> Конфигурация Properites-> Общие - и выберите платформенный набор инструментов v140.

Ответ 2

Для этой ошибки и аналогичных для других платформ (например, VS2013) эта проблема обычно возникает из-за того, что вы установили более старую версию VS после установки более поздней версии. Это мое наблюдение, что это повлияет на все ваши проекты Visual Studio C++, и вам придется вручную настроить их для таргетинга на определенный набор инструментов для данной версии VS, который вы пытаетесь построить в проекте.

Ответ 3

Если бы эта же ошибка пыталась npm install после клонирования проекта на основе узлов. Он имел зависимость npm, которая требовала компиляции источника C++.

Я уже модифицировал установку VS2017 для включения Individual ComponentsVC++ 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 после этого успешно завершена.