在 Ubuntu 上“更新 C++ 版本”通常指的是更新 GCC / G++ 编译器版本,因为 C++ 标准是由编译器实现的。下面是从低版本升级到新版本的完整常见做法。
g++ --version
gcc --version
sudo apt update
sudo apt upgrade
例如安装 GCC 12:
sudo apt install g++-12 gcc-12
安装 GCC 13(Ubuntu 23.10+ 常见):
sudo apt install g++-13 gcc-13
Ubuntu 可能同时存在多个版本,需要手动切换。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100
如果有多个版本:
sudo update-alternatives --config g++
然后选择对应编号即可。
例如 Ubuntu 20.04 / 22.04 想用 GCC 13:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-13 g++-13
然后同样设置 update-alternatives。
g++ --version
输出类似:
g++ (Ubuntu 13.1.0-2ubuntu2) 13.1.0
g++ -std=c++20 main.cpp -o main
常用标准:
c++11c++14c++17c++20c++23(需要 GCC 13+)一般不需要单独升级,只要 GCC 版本够新,libstdc++ 会自动更新。
| 场景 | 建议 |
|---|---|
| 只想用新 C++ 标准 | 升级 GCC |
| 开发 CUDA | 注意 GCC 与 CUDA 兼容性 |
| 服务器环境 | 不要随意升级系统 GCC |
| Docker / CI | 用官方 GCC 镜像最稳 |
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-13 g++-13
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100
g++ --version
如果你愿意,可以告诉我:
我可以给你最合适、最安全的升级方案。