温馨提示×

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

小樊
40
2026-09-05 04:42:56
栏目: 编程语言

在 Linux 下用 C++ 开发时,“选编译器”通常包含几个层面:选哪个编译器(gcc / clang)怎么安装怎样在构建系统里指定以及常见参数怎么配。下面按实际使用场景给你一套清晰建议。


一、常见 C++ 编译器选择

1. GCC(最常用)

  • 命令:g++
  • 特点:
    • Linux 默认编译器
    • 对标准支持稳定
    • 发行版自带
  • 适合:
    • 服务器程序
    • 通用 Linux 开发

安装(示例):

# Ubuntu / Debian
sudo apt install g++

# CentOS / Rocky / Alma
sudo dnf install gcc-c++

查看版本:

g++ --version

2. Clang(推荐用于现代 C++)

  • 命令:clang++
  • 特点:
    • 报错信息更友好
    • 静态分析工具强
    • 编译速度快(部分场景)
  • 适合:
    • 新项目
    • 想用 sanitizer(ASan / UBSan)
    • LLVM 生态

安装:

sudo apt install clang

使用:

clang++ main.cpp -o main

二、选 C++ 标准版本(非常重要)

无论 gcc 还是 clang,都要显式指定标准:

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

常见选项:

  • c++11
  • c++14
  • c++17(最常用)
  • c++20(新项目推荐)

三、在构建系统中指定编译器

1. Makefile 示例

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

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

切到 clang:

CXX = clang++

2. CMake(最推荐)

指定编译器(方式一:命令行):

cmake -DCMAKE_CXX_COMPILER=g++ ..
# 或
cmake -DCMAKE_CXX_COMPILER=clang++ ..

CMakeLists.txt 示例:

cmake_minimum_required(VERSION 3.10)
project(demo)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_executable(demo main.cpp)

四、多版本 GCC / Clang 切换

Ubuntu 示例

sudo apt install g++-11 g++-12
sudo update-alternatives --config g++

选择编号即可切换默认 g++


五、调试 & 优化常用配置

# 调试
g++ -g -O0 -std=c++17 main.cpp

# 发布
g++ -O2 -std=c++17 main.cpp

# 开启警告
-Wall -Wextra

# 使用 sanitizer
g++ -fsanitize=address -g main.cpp

六、简单选择建议

场景 推荐
新手 / 通用 gcc + c++17
新项目 clang + c++20
服务器 gcc
调试困难代码 clang
性能分析 gcc / clang 均可

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

  • 你用的是 Ubuntu / CentOS / Arch
  • 命令行 / CMake / Makefile / VSCode
  • 目标平台是 x86 / ARM

我可以直接给你一套可复制的配置。

0