[英]How to use C++ 20 in g++
我正在尝试访问std::popcount
,但它似乎只存在于 C++ 20中。
当我尝试使用g++ -std=c++20 main.cpp
进行编译时,它g++: error: unrecognized command line option '-std=c++20'; did you mean '-std=c++03'
g++: error: unrecognized command line option '-std=c++20'; did you mean '-std=c++03'
我如何告诉 g++ 使用 c++ 20?
我正在使用 Ubuntu 18.04
我会尝试更新 gcc。 C++ 20 在 gcc 版本 8 中引入,这是相当新的。
如果它是一个选项,您可以更新到 Ubuntu 20.04 LTS,其中包括开箱即用的 GCC 版本 9。 这将使您能够使用 C++ 20 和std::popcount
注意:在 GCC 9 及更早版本中使用-std=c++2a
从 GCC 8 开始提供 C++20 功能。
要启用 C++20 支持,请添加命令行参数
-std=c++20
对于 G++ 9 及更高版本,请使用 `
-std=c++2a
或者,要启用除 C++20 功能之外的 GNU 扩展,请添加
-std=gnu++20
`
存在不同版本的编译器, g++
通常链接到旧版本。 对我来说,当前的是g++-9
,它显然不理解 C++20。
C++20 需要安装gcc-10
和g++-10
(加上依赖项)。 假设您已经安装了它们,那么您需要运行:
g++-10 -std=c++20 main.cpp
PS:如果你想 go 默认使用 v10,然后更新gcc
, g++
和其他相关链接,并使用全名 v9 (或任何旧的)。
编辑:根据主机操作系统,也可以安装 v11 和 v12,但命名仍然很重要。 替换为g++-11
或g++-12
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.