在 Ubuntu 上“升级 C++ 标准”通常有两层含义,下面分别说明:
Ubuntu 自带 GCC 版本可能较旧(如 20.04 是 GCC 9,22.04 是 GCC 11)。
g++ --version
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
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
安装好支持对应标准的编译器后,用 -std 指定:
g++ -std=c++11 main.cpp
g++ -std=c++14 main.cpp
g++ -std=c++17 main.cpp
g++ -std=c++20 main.cpp
✅ 注意:
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(app main.cpp)
target_compile_features(app PRIVATE cxx_std_17)
g++ -std=c++20 -pedantic -Wall main.cpp
A:使用 ppa:ubuntu-toolchain-r/test
A:检查:
rm -rf build && mkdir build && cd build && cmake ..
如果你告诉我:
我可以给你精确命令。