关于C++20和MingGW,有个很苦恼的问题

70 阅读1分钟

之前就遇到这个问题了,在使用MingGW时,发现虽然是C++20,但是有些特性压根没有。

但是吧,Ctrl+左键 是可以跳转到头文件的,只是编译器貌似识别不了这些特性。

目前在std::number 和 std::span 中遇到了这个问题。

说实话,有点没思路了。不知道该怎么排查。

改用MSVC的话报这样的错:

image.png

难道说这个不是C++20吗?

image.png

用__cplusplus查的话显示这个。

image.png

哦哦,发现设置里有个C++语言标准,设置之后发现现在VS里可以正常使用std::numbers了。

那Clion里要怎么配置,我看看。

image.png

试了下,我再其他地方加的时候没有生效,在程序的这里加上去就可以了。

后续再看看,不过我明明MingGW选择的是最新的,但还是按照默认的C++17了,就不能默认成C++20吗?还是说需要在哪里设置才行。