温馨提示×

如何在ubuntu升c++标准

小樊
43
2026-09-11 08:27:46
栏目: 编程语言

在 Ubuntu 上“升级 C++ 标准”通常有两层含义,下面分别说明:


一、升级 GCC / G++ 编译器版本(支持更高 C++ 标准)

Ubuntu 自带 GCC 版本可能较旧(如 20.04 是 GCC 9,22.04 是 GCC 11)。

1. 查看当前 GCC 版本

g++ --version

2. 安装更高版本 GCC(以 GCC 12 为例)

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

3. 切换默认 g++

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

二、在编译时指定 C++ 标准

安装好支持对应标准的编译器后,用 -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

✅ 注意:

  • C++20 需要 GCC 10+
  • C++23 需要 GCC 13+

三、CMake 项目中指定 C++ 标准

方法 1:set 变量

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

方法 2:target 方式(推荐)

add_executable(app main.cpp)
target_compile_features(app PRIVATE cxx_std_17)

四、检查编译器支持的 C++ 标准

g++ -std=c++20 -pedantic -Wall main.cpp

五、常见问题

Q:Ubuntu 自带 g++ 太老?

A:使用 ppa:ubuntu-toolchain-r/test

Q:CLion / VSCode 没生效?

A:检查:

  • 编译器路径
  • CMake 缓存是否清理
rm -rf build && mkdir build && cd build && cmake ..

如果你告诉我:

  • Ubuntu 版本
  • 当前 GCC 版本
  • 想用 C++17 / 20 / 23

我可以给你精确命令

0