ubuntu20.04&vscode使用C++20(调整gcc版本&vscode设置)

Ubuntu 20.04 上使用 GCC 9.4.0 时,可以部分支持 C++20 标准,但完整功能需要更高版本的 GCC(如 10+)。以下是具体操作指南:


一. 升级 GCC 以获得完整 C++20 支持(推荐)

GCC 10+ 对 C++20 的支持更完善(如 ConceptsRanges 等)。在 Ubuntu 20.04 上可通过以下步骤升级:

步骤 1:添加 Ubuntu Toolchain PPA
bash 复制代码
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
步骤 2:安装 GCC 11(或更高版本)
bash 复制代码
sudo apt install gcc-11 g++-11
步骤 3:切换默认 GCC 版本(可选)
bash 复制代码
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
# 验证版本
gcc --version
g++ --version
使用新版本编译(无需切换默认版本):
bash 复制代码
g++-11 -std=c++20 -o your_program your_source.cpp

二. 完整 C++20 示例(需 GCC 11+)

如果你升级到 GCC 11+,可尝试以下代码:

cpp 复制代码
#include <iostream>
#include <ranges>
#include <vector>

int main() {
    // C++20 范围视图(Ranges)
    std::vector<int> nums = {1, 2, 3, 4, 5};
    auto even = nums | std::views::filter([](int n) { return n % 2 == 0; });
    for (int n : even) {
        std::cout << n << " "; // 输出: 2 4
    }
    return 0;
}

编译命令:

bash 复制代码
g++-11 -std=c++20 -o ranges_example ranges_example.cpp

三.IDE部分处理

在前文我们已经可以通过命令行来使用C++20对单个cpp文件进行编译,但是很多时候我们希望使用vscode的自动化编译处理,比如F5直接进行调试,Ctrl+Shift+B编译,Ctrl + Alt +N编译并运行这样子,因此,需要在vscode的.vscode文件夹中增加以下更改

3.1 tasks.json

3.2 c_cpp_properties.json

json 复制代码
{
  "configurations": [
    {
      "name": "Linux",
      "compilerPath": "/usr/bin/g++-11",
      "cStandard": "c17",
      "cppStandard": "c++20",
      "intelliSenseMode": "gcc-x64",
      "includePath": [
        "/usr/include/c++/11",       // 关键路径:GCC 11 的头文件
        "/usr/include/x86_64-linux-gnu/c++/11",
        "${workspaceFolder}/**"
      ]
    }
  ],
  "version": 4
}
相关推荐
切糕师学AI几秒前
VSCode 下如何检查 Vue 项目中未使用的依赖?
vue.js·vscode
青椒*^_^*凤爪爪32 分钟前
Vscode下调试STM32N6系列单片机的方法
vscode·单片机·stm32n6·stm32n647
猿小猴子2 小时前
主流 AI IDE 之一的 OpenCode 介绍
ide·人工智能·ai·opencode
量子炒饭大师12 小时前
【一天一个计算机知识】—— VScode 极速搭建:打造你的全能代码武器库
ide·vscode·编辑器
程序员贵哥12 小时前
彻底还原VSCode:Windows下完全重置VS Code配置的方法
vscode
石国12 小时前
windows10 win10 pyside6 vscode 安装与配置
vscode·pyside6·windows10
-嘟囔着拯救世界-12 小时前
【保姆级教程】Win11 下从零部署 Claude Code:本地环境配置 + VSCode 可视化界面全流程指南
人工智能·vscode·ai·编辑器·html5·ai编程·claude code
qq_4037425512 小时前
Ubuntu 24.04 安装 LaTeX + VSCode 环境指南
vscode·其他
红廉骑士兽12 小时前
VSCode远程连接云端LLM实现低延迟私有知识交互
vscode· 远程开发· anything-llm
gagaga....12 小时前
解决claude code for vscode对话返回 api error: 403 {“error“:{“type“:“forbidden“,“message“:.....的问题过程
ide·vscode·编辑器