在 CentOS 上遇到 gcc 不支持(版本太低 / 命令找不到 / 编译失败),一般可以按下面几种情况解决。
gcc --version
command not found → 没安装sudo yum install -y gcc gcc-c++ make
CentOS 7 默认是 gcc 4.8.5(很多老项目可用)
sudo yum install -y centos-release-scl
sudo yum install -y devtoolset-11
启用:
scl enable devtoolset-11 bash
gcc --version
⚠️ 只在当前 shell 生效
永久生效(加到 ~/.bashrc):
echo "source scl_source enable devtoolset-11" >> ~/.bashrc
适合极端需求,但耗时长、易出错。
sudo dnf install -y gcc gcc-c++ make
或:
sudo dnf install -y gcc-toolset-11
GLIBCXX_3.4.x not found说明你用了新 gcc 编译,但运行环境 gcc 太老
✅ 解决:
-static-libstdc++g++ -std=c++17 main.cpp
老 gcc 不支持,必须 devtoolset
| 需求 | 推荐 |
|---|---|
| 简单编译 | yum gcc |
| C++11/14 | gcc 4.8 |
| C++17 | devtoolset-7+ |
| C++20 | devtoolset-11+ |
如果你愿意,可以告诉我:
我可以给你精确命令。