温馨提示×

linux c++配置怎样选版本

小樊
41
2026-09-14 06:20:10
栏目: 编程语言

在 Linux 下做 C++ 开发时“选版本”,通常涉及 三个层面,分别搞清楚就不会乱:


一、选 C++ 语言标准版本(最重要)

这是你代码能用的语法和标准库特性

常见标准

标准 说明
C++98 / C++03 老项目
C++11 现代 C++ 起点(推荐最低)
C++14 小改进
C++17 目前最常用 ✅
C++20 新特性多(concepts、ranges)
C++23 较新,编译器支持不完全

如何选

  • 新项目:✅ C++17 或 C++20
  • 维护老项目:保持原标准
  • 嵌入式 / 旧系统:C++11

编译时指定

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

CMake 中:

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

二、选编译器版本(gcc / clang)

不同编译器对 C++ 标准支持不同。

查看版本

g++ --version
clang++ --version

推荐

系统 推荐
Ubuntu 20.04+ gcc 9+
Ubuntu 22.04 gcc 11 ✅
新项目 gcc 11 / clang 14+

多版本切换(Ubuntu)

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

三、选第三方库版本(optional)

如果你用库(如 Boost、protobuf):

原则

  • C++ 标准匹配
  • 编译器版本匹配
  • 优先用系统包管理:
sudo apt install libboost-dev

或源码指定版本编译。


四、常见推荐组合(2024)

最稳妥

  • gcc 11
  • C++17
  • Ubuntu 22.04

先进一点

  • gcc 12 / clang 15
  • C++20

五、快速自查清单

  • [ ] 明确要 C++11 / 17 / 20?
  • [ ] 编译器是否支持该标准?
  • [ ] CMake 是否写死标准?
  • [ ] 第三方库是否兼容?

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

  • 用的 Linux 发行版
  • 学习 / 工作 / 嵌入式
  • 是否用 CMake

我可以直接给你一套具体配置方案

0