温馨提示×

怎样给Ubuntu升C++标准

小樊
34
2026-10-17 02:26:04
栏目: 编程语言

在 Ubuntu 上“升级 C++ 标准”通常有两种理解,我先说明清楚,再给你做法:


一、你指的是「使用更新的 C++ 标准(如 C++17 / C++20 / C++23)」

这不是“升级系统”,而是编译时指定标准,前提是你的 GCC / Clang 版本足够新。

1️⃣ 查看当前编译器版本

g++ --version

或

clang++ --version

常见对应关系:

  • GCC 7 → C++17
  • GCC 8+ → 完整 C++17
  • GCC 10+ → C++20
  • GCC 11+ → 更好 C++20
  • GCC 13+ → C++23(部分)

2️⃣ 编译时指定 C++ 标准

g++ -std=c++17 main.cpp -o main
g++ -std=c++20 main.cpp -o main
g++ -std=c++23 main.cpp -o main

CMake 示例:

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

二、你指的是「升级 Ubuntu 上的 C++ 编译器(GCC / Clang)」

Ubuntu 自带 GCC 往往偏旧(尤其 LTS 版本)。

✅ 方法 1:用 Ubuntu 官方仓库(推荐,安全)

sudo apt update
sudo apt install g++-11
sudo apt install g++-12
sudo apt install g++-13

使用:

g++-13 -std=c++20 main.cpp

设为默认(谨慎):

sudo update-alternatives --config g++

✅ 方法 2:使用 Toolchain PPA(新版更全)

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install g++-13

✅ 方法 3:使用 Clang(C++20/23 支持很好)

sudo apt install clang-15
clang++-15 -std=c++20 main.cpp

三、检查编译器是否支持某标准

echo | g++ -std=c++20 -E -x c++ -

不报错即支持。


四、常见误区

❌ “升级 Ubuntu 就升级 C++ 标准”
✅ 实际是 编译器版本 + 编译参数 决定

❌ “C++ 标准要单独安装”
✅ C++ 标准只是规范,由编译器实现


如果你愿意,可以告诉我:

  • Ubuntu 版本(如 20.04 / 22.04)
  • 当前 GCC 版本
  • 想用 C++17 / 20 / 23 的哪一个

我可以直接给你最省事的命令。

0 踩