为啥在将 msys gcc 从 9.2 更新到 10.1.0 后我的所有 std 命名空间都损坏了

Posted

技术标签:

【中文标题】为啥在将 msys gcc 从 9.2 更新到 10.1.0 后我的所有 std 命名空间都损坏了【英文标题】:why are all my std namespaces broken after updating msys gcc from 9.2 to 10.1.0为什么在将 msys gcc 从 9.2 更新到 10.1.0 后我的所有 std 命名空间都损坏了 【发布时间】:2020-05-26 07:33:42 【问题描述】:

我刚刚将我的 msys gcc 编译器从 9.2.0 更新到 10.1.0。之后,std:: 命名空间内的所有函数都找不到,现在位于命名空间 ::std:: 后面,带有前导双冒号,所有 Gtest MACROS 例如 TEST 都突出显示为错误。这是一个例子:

std::in_place 没有前导双冒号会给出错误:命名空间'std::ranges::std'中没有名为“in_place”的成员

【问题讨论】:

欺骗***.com/questions/61941032/… 感谢上帝,我不是唯一一个。我希望它会很快得到修复。 【参考方案1】:

在 CLion 2020.1.x 中已知 issue。当前的 W/A 是使用 C++17,直到他们修复它并提供错误修复更新。

【讨论】:

很高兴这个问题不是 gcc 相关问题。感谢您的回复。

以上是关于为啥在将 msys gcc 从 9.2 更新到 10.1.0 后我的所有 std 命名空间都损坏了的主要内容,如果未能解决你的问题,请参考以下文章

如何让 msys 识别 gcc?

使用 rebase.exe 从 msys/mingw gcc 构建的 dll 中提取调试信息?

gcc 9.2 交叉工具链构建过程

为啥我在将我的 Electron 项目更新到最新版本后会看到“电子安全警告”?

gcc posix sjij for MSYS 9.2.1+

msys2\usr\bin 中的 gcc.exe 和 msys2\mingww64\bin 中的 gcc.exe 有啥区别?