在 Ubuntu 上“选 C++ 编译器”通常有几层含义,下面按常见场景给你说明。
GCC(g++)
g++sudo apt update
sudo apt install g++
Clang(clang++)
clang++sudo apt install clang
多版本 GCC(如 gcc-9、gcc-11、gcc-12)
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
如果你有多个 GCC 版本,可以用 update-alternatives 管理默认 g++。
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
sudo update-alternatives --config g++
输出示例:
* 0 /usr/bin/g++-12
1 /usr/bin/g++-11
cmake -DCMAKE_CXX_COMPILER=clang++ ..
或:
cmake -DCMAKE_CXX_COMPILER=g++-11 ..
set(CMAKE_CXX_COMPILER clang++)
which g++
g++ --version
clang++ --version
| 场景 | 推荐 |
|---|---|
| 日常学习 / 通用开发 | g++ |
| 需要更好报错信息 | clang++ |
| 特定 C++ 标准 / 项目要求 | 指定版本 |
| 内核 / 系统级 | GCC |
| 静态分析 / 工具链 | Clang |
如果你能说明:
我可以给你更精确的操作步骤。