在 Linux 下“C++ 配置升版本”通常有几层含义,下面按最常见场景给你一套清晰升级思路。
g++ --version
clang++ --version
常见情况:
g++ (Ubuntu 9.4.0) → GCC 9clang version 14.0.0 → Clang 14sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
安装新版本(示例 GCC 12):
sudo apt install g++-12
切换默认版本:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100
验证:
g++ --version
sudo dnf install gcc-toolset-12
scl enable gcc-toolset-12 bash
或永久生效:
echo "source scl_source enable gcc-toolset-12" >> ~/.bashrc
sudo apt install clang-15
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-15 100
即使编译器升级,也要在 CMakeLists.txt 中开启:
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
或:
target_compile_features(my_target PRIVATE cxx20)
g++ -std=c++20 main.cpp -o main
which g++
确认路径是否切换成功。
cmake -DCMAKE_CXX_COMPILER=g++-12 ..
| 系统 | 推荐 |
|---|---|
| Ubuntu 22.04 | GCC 12 / Clang 15 |
| Ubuntu 24.04 | GCC 13 |
| C++ 标准 | C++17 / C++20 |
如果你能告诉我:
我可以给你精确命令。