温馨提示×

linux c++配置怎么选编译器

小樊
32
2026-09-29 05:38:30
栏目: 编程语言

在 Linux 下用 C++ 开发时,“选编译器”通常有两层含义:
1️⃣ 选哪个编译器(gcc / g++ / clang)
2️⃣ 在构建系统里怎么指定编译器(Makefile / CMake / 命令行)

下面分层说明。


一、Linux 常见 C++ 编译器

1. GCC(g++)——最常用

g++ --version

✅ 稳定、兼容好
✅ 几乎所有 Linux 发行版默认
✅ 适合大多数项目

编译示例:

g++ main.cpp -o main

2. Clang(clang++)——现代、错误提示友好

clang++ --version

✅ 编译速度快
✅ 报错信息更清晰
✅ 对 C++ 新标准支持积极

编译示例:

clang++ main.cpp -o main

3. 其他(少见)

  • icc(Intel)
  • pgc++(NVIDIA HPC) 一般用于高性能计算

二、如何“选择”编译器

✅ 方法 1:命令行直接指定

g++ main.cpp
clang++ main.cpp

✅ 方法 2:Makefile 里指定

CXX = g++
CXXFLAGS = -std=c++17 -O2

main: main.cpp
	$(CXX) $(CXXFLAGS) main.cpp -o main

想换编译器只需改:

CXX = clang++

✅ 方法 3:CMake 指定编译器(最推荐)

方式 A:命令行指定(不改变源码)

export CC=gcc
export CXX=g++

cmake -S . -B build

或:

cmake -S . -B build \
  -DCMAKE_C_COMPILER=gcc \
  -DCMAKE_CXX_COMPILER=g++

用 clang:

cmake -S . -B build \
  -DCMAKE_CXX_COMPILER=clang++

方式 B:在 CMakeLists.txt 写死(不推荐)

set(CMAKE_CXX_COMPILER "clang++")

⚠️ 不推荐,会影响跨平台


三、怎么选?一般建议

场景 推荐
学习 / 普通项目 g++
想看清晰报错 clang++
新标准尝鲜 clang++
服务器 / 生产 g++
跨平台项目 CMake + 可切换

四、查看当前用的是哪个编译器

which g++
which clang++

CMake 构建后查看:

cat build/CMakeCache.txt | grep COMPILER

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

  • 用的是 Make / CMake / VSCode / CLion
  • 是否是 C++11/17/20
  • 是否是 交叉编译

我可以直接给你一份“现成配置”。

0 踩