当前位置: 首页 > news >正文

ubuntu20.04vscode使用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
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
步骤 2:安装 GCC 11(或更高版本)
sudo apt install gcc-11 g++-11
步骤 3:切换默认 GCC 版本(可选)
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
使用新版本编译(无需切换默认版本):
g++-11 -std=c++20 -o your_program your_source.cpp

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

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

#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;
}

编译命令:

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

{"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
}

相关文章:

  • day 33简单的神经网络
  • GitLab 备份所有仓库(自动克隆)
  • Spring Boot 内置工具类汇总与讲解
  • 人民日报社主管媒体深度聚焦珈和科技“遥感+AI”农险精准化突破:首创“四维数据贯通”模式 树行业转型新标杆
  • 塔能科技:工厂能耗精准节能全方位解决方案
  • 【C++】位图+布隆过滤器
  • LangFlow可视化Agent编排
  • HarmonyOS优化应用文件上传下载慢问题性能优化二
  • Beyond逆袭解码:三大战略构建DTC抗周期增长模型
  • AI之光,点亮星途 :揭秘“智语心桥”,如何用科技为孤独症儿童架起沟通的桥梁
  • 无线网络优化配置:让你的Wi-Fi更快更稳
  • VSCode GitHub Copilot 安装与使用完全指南
  • 设置标签(tag)并推送到GitHub
  • 【linux知识】sftp配置免密文件推送
  • ubuntu中上传项目至GitHub仓库教程
  • 华为2025年校招笔试手撕真题教程(三)
  • 【云原生安全】零信任与机密计算
  • 视频监控管理平台EasyCVR结合AI分析技术构建高空抛物智能监控系统,筑牢社区安全防护网
  • CyberSecAsia专访CertiK首席安全官:区块链行业亟需“安全优先”开发范式
  • XMOS推出支持AES67标准的以太网音频解决方案——使高兼容性和低延迟专业音频传输及播放成为可能
  • 网站域名space/网络营销的主要方式
  • 怎么快速建动态网站/网络营销软件下载
  • 移动端下拉框价威cj111602推广/长沙seo优化首选
  • 网站建设价位/深圳做网站的公司有哪些
  • 很长的网站域名怎么做短/西安网站推广排名
  • 复制文章中自动添加网站版权/外贸网站搭建推广