在 Linux 下用 C++ 开发时,“选编译器”通常包含几个层面:选哪个编译器(gcc / clang)、怎么安装、怎样在构建系统里指定、以及常见参数怎么配。下面按实际使用场景给你一套清晰建议。
g++安装(示例):
# Ubuntu / Debian
sudo apt install g++
# CentOS / Rocky / Alma
sudo dnf install gcc-c++
查看版本:
g++ --version
clang++安装:
sudo apt install clang
使用:
clang++ main.cpp -o main
无论 gcc 还是 clang,都要显式指定标准:
g++ -std=c++17 main.cpp -o main
clang++ -std=c++20 main.cpp -o main
常见选项:
c++11c++14c++17(最常用)c++20(新项目推荐)CXX = g++
CXXFLAGS = -std=c++17 -O2 -Wall
main: main.cpp
$(CXX) $(CXXFLAGS) main.cpp -o main
切到 clang:
CXX = clang++
指定编译器(方式一:命令行):
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)
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 均可 |
如果你愿意,可以告诉我:
我可以直接给你一套可复制的配置。