centos gcc如何支持c++20
作者:WeekendFlower
时间:2026-06-27
来源:正软商城
浏览:10
要在CentOS上用GCC编译C++20代码,说难不难,说简单也得踩几个坑——核心就两步:装对版本的GCC,编译时加上正确的标准选项。下面直接上步骤。 1. 安装支持C++20的GCC版本 CentOS默认仓库里的GCC版本一般比较老,比如CentOS 7自带的是GCC 4.8,那会儿C++20的影
本文目录

1. 安装支持C++20的GCC版本
CentOS默认仓库里的GCC版本一般比较老,比如CentOS 7自带的是GCC 4.8,那会儿C++20的影子都没有。要跑C++20,至少得GCC 11以上。最简单的方式是通过Devtoolset来安装较新的工具链。 先把SCL(Software Collections)仓库打开:sudo yum install centos-release-scl
然后安装Devtoolset-11(如果你想用更新的版本,比如devtoolset-12或13,也可以,步骤一样):
sudo yum install devtoolset-11
装完后,需要用一条命令激活这个工具集:
scl enable devtoolset-11 bash
这条命令会开启一个新的shell会话,在这个会话里,GCC、G++以及其他工具都会切换到Devtoolset-11的版本。你可以用以下命令确认一下:
gcc --version
g++ --version
如果看到输出类似 gcc (GCC) 11.x.x,那就对了。每次你想用新版本GCC,都需要先跑一次 scl enable,或者你可以把它加到bashrc里自动激活,不过这里不展开了。
2. 编译C++20代码
编译器装好了,编译时唯一需要多做的就是在命令里加一个标准选项:-std=c++20。举个例子,假设你有一个文件 main.cpp,里面写了C++20的ranges用法:
#include
#include
int main() {
std::vector vec = {1, 2, 3, 4, 5};
auto even_numbers = vec | std::views::filter([](int x) { return x % 2 == 0; });
for (int num : even_numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
用下面的命令编译:
g++ -std=c++20 -o main main.cpp
只要没报错,就会生成一个叫 main 的可执行文件。
3. 运行程序
编译成功之后,直接运行:./main
预期输出是:
2 4
没什么问题,就是C++20里ranges的基本用法。
总结
在CentOS上启用C++20,关键就两个动作:通过Devtoolset装一个足够新的GCC(11+),然后编译时加上-std=c++20。这两个条件满足后,C++20的多数新特性(concepts、ranges、coroutines等等)就能正常编译和运行了。如果遇到链接或头文件问题,记得检查一下Devtoolset的路径是否优先,或者直接用全路径调用g++,但一般按照上面的步骤走不会出岔子。
作者最新文章
再漫画官网首页入口及在线观看方法
2026-11-05 09:42
ArchiveofOurOwn官网链接及同人文学阅读入口
2026-10-30 10:21
多张照片怎么合成PDF文件?三种图片转PDF工具怎么选?
2026-10-29 15:06
音述AI作品如何复制分享链接发给好友
2026-10-27 12:00
冰点还原怎么打开 程序启动步骤
2026-10-23 13:35
上一篇:
centos gcc如何支持c++17
热门文章
更多
精品专题
更多
Mac软件
更多
火山引擎 网页版
Windows/ macOS/ Linux
火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。
















