问题描述
由于微软在版本 14.29.30037
中(再次)破坏了编译器(由于某种原因被 CMAKE 报告为 19.29.30038.1
)(look here)我需要回到 14.28.something
.我已经通过 Visual Studio 安装程序下载了 14.28.29910
,我的 Microsoft Visual Studio\2019\Community\VC\Tools\MSVC
文件夹现在包含两个版本的文件夹。
但是我找不到强制 CMAKE 使用这个特定旧版本的方法。我使用 CLion CMAKE 集成,我的设置如下所示。
请注意,我已经尝试将 Make
、C Compiler
和 C++ Compiler
路径设置为它们在旧编译器中的对应路径。这导致 CMAKE 报告所需的 19.28.29915.0 编译器版本(顺便说一下,喜欢微软使用的不同版本控制约定的数量)。尽管如此,当我尝试构建项目时,我得到以下信息:
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.
我想这意味着并非编译器的所有部分(在本例中包括一些)都切换到旧版本。
如果出于某种原因,我的任何一段代码可以帮助您回答这个问题,那么该存储库可用 here
另请注意,尽管我很想简单地切换到 GCC,但由于 Windows 上的 CUDA 支持,我不能。我也不能使用不同的(旧的)Visual Studio 版本,因为该项目需要 C++ 20。另外,额外的问题:像微软这样相关的公司怎么可能真的破坏企业级开发工具?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)