繁体   English   中英

C++ 20在g++中的使用方法

[英]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-10g++-10 (加上依赖项)。 假设您已经安装了它们,那么您需要运行:

g++-10 -std=c++20 main.cpp

PS:如果你想 go 默认使用 v10,然后更新gccg++和其他相关链接,并使用全名 v9 (或任何旧的)。

编辑:根据主机操作系统,也可以安装 v11 和 v12,但命名仍然很重要。 替换为g++-11g++-12

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM