选择思路与版本对照
| 目标标准 | 建议GCC版本 | 说明 |
|---|---|---|
| C++11 | GCC ≥ 4.8.1 | CentOS 7 自带的4.8.5已满足 |
| C++14 | GCC ≥ 5 | 4.x 对 C++14 仅部分支持 |
| C++17 | GCC ≥ 7 | 7 起完整支持;7.5 是兼顾稳定与特性的常用选择 |
| C++20 | GCC ≥ 10 | 10 起对 C++20 支持较完整,适合新项目 |
安装与切换方式
sudo yum groupinstall "Development Tools";sudo yum install gcc gcc-c++;验证:g++ --version。sudo yum install centos-release-scl;sudo yum install devtoolset-11-gcc devtoolset-11-gcc-c++scl enable devtoolset-11 bash(仅当前终端生效)source /opt/rh/devtoolset-11/enable加入/etc/bashrc或~/.bashrcsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8sudo update-alternatives --config gcc(交互选择默认版本)项目落地与构建配置
set(CMAKE_CXX_STANDARD 17)(或20)-Wall -Wextra -Werror -O2 -g-fsanitize=address,undefined -fno-omit-frame-pointergcc -v -dM -E - < /dev/null | grep __cplusplusg++ -std=c++17 -O2 -o demo demo.cpp && ./demo常见坑与建议