温馨提示×

Ubuntu如何选C++编译器

小樊
66
2026-09-02 08:47:56
栏目: 编程语言

在 Ubuntu 上“选 C++ 编译器”通常有几层含义,下面按常见场景给你说明。


一、Ubuntu 上常见的 C++ 编译器

  1. GCC(g++)

    • 最常用
    • 命令:g++
    • 安装:
      sudo apt update
      sudo apt install g++
      
  2. Clang(clang++)

    • LLVM 编译器,错误提示更友好
    • 命令:clang++
    • 安装:
      sudo apt install clang
      
  3. 多版本 GCC(如 gcc-9、gcc-11、gcc-12)

    • Ubuntu 可同时安装多个版本
    • 示例:
      sudo apt install gcc-11 g++-11
      sudo apt install gcc-12 g++-12
      

二、临时选择用哪个编译器(命令行)

编译时直接指定即可:

g++ main.cpp -o app
clang++ main.cpp -o app
g++-11 main.cpp -o app

三、系统级“默认编译器”切换(update-alternatives)

如果你有多个 GCC 版本,可以用 update-alternatives 管理默认 g++。

1. 注册编译器

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 110
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 120

2. 手动选择

sudo update-alternatives --config g++

输出示例:

* 0  /usr/bin/g++-12
  1  /usr/bin/g++-11

四、CMake 项目里指定 C++ 编译器

方法 1:命令行指定

cmake -DCMAKE_CXX_COMPILER=clang++ ..

或:

cmake -DCMAKE_CXX_COMPILER=g++-11 ..

方法 2:CMakeLists.txt(不推荐写死)

set(CMAKE_CXX_COMPILER clang++)

五、查看当前使用的编译器

which g++
g++ --version
clang++ --version

六、如何选择?(建议)

场景 推荐
日常学习 / 通用开发 g++
需要更好报错信息 clang++
特定 C++ 标准 / 项目要求 指定版本
内核 / 系统级 GCC
静态分析 / 工具链 Clang

如果你能说明:

  • 是命令行编译还是 CMake / Makefile
  • 是否要切换版本
  • Ubuntu 版本(如 20.04 / 22.04)

我可以给你更精确的操作步骤。

0 踩