在 CentOS 7.9 上,适合使用的 C++(即 g++)版本通常取决于你的具体需求,比如是否需要支持 C++11、C++14、C++17 或更新的标准。但根据 CentOS 7.9 的默认软件仓库和系统环境来看:
✅ CentOS 7.9 推荐的 C++ 编译器版本
1. 默认安装的 GCC 版本:GCC 4.8.5
- 默认情况下,CentOS 7.9 自带的是
GCC 4.8.5。 - 支持:
- C++98 和 C++03(完整)
- 部分 C++11(约 60% 的特性支持)
- 不推荐用于现代 C++ 开发(如使用 C++14/17/20)
2. 建议升级到更高版本的 GCC
为了支持更新的 C++ 标准(如 C++14、C++17),你可以手动安装更高版本的 GCC。
🔹 常见推荐版本:
| GCC 版本 | 支持的 C++ 标准 | 备注 |
|---|---|---|
| GCC 7.x | 完整支持 C++14,部分支持 C++17 | 稳定且兼容 CentOS 7 |
| GCC 8.x | 完整支持 C++17 | 推荐版本之一 |
| GCC 9.x | 更好的 C++20 支持 | 可用,但需注意依赖问题 |
| GCC 10+ | 支持大部分 C++20 | 需要额外配置 Devtoolset 或 SCL |
🛠️ 如何安装高版本 GCC
方法一:使用 devtoolset(推荐)
Red Hat 提供了 Developer Toolset,可以在 CentOS 中安全地使用较新版本的 GCC。
# 启用 EPEL 仓库
sudo yum install -y epel-release
# 安装 scl-utils
sudo yum install -y centos-release-scl
# 安装 devtoolset(例如 devtoolset-9)
sudo yum install -y devtoolset-9
# 启用 devtoolset(当前 shell 会话)
scl enable devtoolset-9 bash
# 检查 gcc/g++ 版本
gcc --version
g++ --version
这样不会影响系统的默认编译器,只在启用时生效。
方法二:从源码编译安装 GCC(不推荐除非必要)
虽然可行,但过程复杂,容易出错,一般建议使用 devtoolset。
📦 使用 update-alternatives 设置默认版本(可选)
如果你安装了多个版本的 GCC,可以使用 update-alternatives 来切换默认版本。
🧪 示例:查看支持的 C++ 标准
#include <iostream>
int main() {
std::cout << __cplusplus << std::endl;
return 0;
}
- 编译命令示例(启用 C++17):
g++ -std=c++17 -o test test.cpp
✅ 总结推荐
| 场景 | 推荐 GCC 版本 | 支持的 C++ 标准 |
|---|---|---|
| 最小维护项目 | GCC 4.8.5(默认) | C++11(部分) |
| 现代开发项目 | GCC 7~9(devtoolset) | C++14 / C++17 |
| 实验性 C++20 | GCC 10+ | C++20(部分) |
如果你告诉我你要开发什么类型的项目(嵌入式?Web?算法?),我可以给你更具体的推荐版本。
CLOUD技术博