温馨提示×

Linux C++如何配置版本

小樊
43
2026-08-27 07:24:07
栏目: 编程语言

在 Linux 下做 C++ 项目的版本配置,常见方式取决于你使用的是 GCC/G++、Clang、构建工具(CMake/Makefile),还是希望管理库/工具的版本。下面按常见场景给你一个完整说明。


一、配置 C++ 编译器版本(最常见)

1️⃣ 查看当前 GCC / G++ 版本

g++ --version
gcc --version

2️⃣ 安装指定 GCC / G++ 版本(Ubuntu 示例)

sudo apt update
sudo apt install gcc-11 g++-11

其他版本:

gcc-9 g++-9
gcc-12 g++-12

3️⃣ 切换默认 GCC / G++ 版本(update-alternatives)

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100

切换版本:

sudo update-alternatives --config gcc
sudo update-alternatives --config g++

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

1️⃣ 编译时指定 C++ 标准

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

常见选项:

-std=c++11
-std=c++14
-std=c++17
-std=c++20
-std=c++23

推荐:新项目直接用 c++17c++20


2️⃣ CMake 中配置 C++ 版本(推荐)

cmake_minimum_required(VERSION 3.10)
project(MyProject)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

三、Makefile 中配置版本

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

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

四、Clang 配置版本(如果你用 Clang)

sudo apt install clang-14

编译:

clang++-14 -std=c++20 main.cpp -o main

五、查看当前系统支持的 C++ 标准

echo | g++ -dM -E -x c++ -std=c++20 - | grep __cplusplus

输出示例:

#define __cplusplus 202002L   // C++20

六、管理多个 C++ 工具链版本(进阶)

✅ 使用 update-alternatives(系统级)

适合系统只有一个开发环境

✅ 使用 Docker(强烈推荐)

FROM gcc:12

✅ 使用 Conan + CMake

用于库版本管理(大型项目)


七、常见错误 & 注意事项

❌ 编译器太旧,不支持 C++20
✅ 升级 GCC / Clang

❌ 混用不同版本编译器
✅ 统一工具链

❌ 忘记 -std=c++xx
✅ 明确指定标准


八、快速推荐配置(2025 年)

项目类型 推荐
新项目 GCC 12+ / Clang 15+
C++ 标准 C++17 / C++20
构建工具 CMake
版本管理 Docker / update-alternatives

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

  • ✅ 你用的是 Ubuntu / CentOS / Arch
  • ✅ 是 命令行 / CMake / IDE
  • ✅ 目标是 开发 / 编译旧项目 / 多版本共存

我可以给你精确到命令级别的配置方案。

0