Как изменить версию компилятора MSVC в проекте CMAKE?

Поскольку Microsoft сломала компилятор (снова) в версии 14.29.30037 (по какой-то причине CMAKE сообщила как 19.29.30038.1) (смотрите здесь) Мне нужно вернуться к 14.28.something. Я уже скачал 14.28.29910 через установщик Visual Studio, и моя папка Microsoft Visual Studio\2019\Community\VC\Tools\MSVC теперь содержит папки с обеими версиями.

Однако я не могу найти способ заставить CMAKE использовать эту конкретную старую версию. Я использую интеграцию CLion CMAKE, и мои настройки выглядят так. настройки цепочки инструментовcmake settings

Обратите внимание, что я уже пробовал устанавливать пути Make, C Compiler и C++ Compiler к их аналогам в старом компиляторе. Это приводит к тому, что CMAKE сообщает о желаемой версии компилятора 19.28.29915.0 (кстати, нравится количество различных соглашений о версиях, которые использует Microsoft). Несмотря на это, когда я пытаюсь построить проект, я получаю следующее:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\yvals_core.h(541): fatal error C1189: #error:  STL1001: Unexpected compiler version, expected MSVC 19.29 or newer.
NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1428~1.299\bin\HostX86\x64\cl.exe' : return code '0x2'
Stop.

Я предполагаю, что это означает, что не все части компилятора (в данном случае некоторые из них) были переведены на старую версию.

Если по какой-либо причине какой-либо фрагмент моего кода поможет вам ответить на этот вопрос, репозиторий доступен здесь

Также обратите внимание, что, как бы я ни хотел просто переключиться на GCC, я не могу этого сделать из-за поддержки CUDA в Windows. Я также не могу использовать другую (более старую) версию Visual Studio, поскольку для проекта требуется C++ 20. Кроме того, бонусный вопрос: как такая важная компания, как Microsoft, может буквально сломать инструмент разработки корпоративного класса?


person Adam Stafiej    schedule 22.06.2021    source источник
comment
Вы пробовали «Инструменты-> CMake-> Сбросить кеш и перезагрузить проект» в CLion?   -  person HughB    schedule 22.06.2021