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

2025_WSL2_Ubuntu20.04_C++20_concept 环境配置

需要使用 c++20 新特性 concept 泛型约束
记录如何在 wsl2 里面配置环境,如果需要源工程,可以私发
背景:使用 CMakeLists.txt 配置整个工程

从官网 https://gcc.gnu.org/projects/cxx-status.html#cxx20 可以看到 concept 受 g++10 支持
在这里插入图片描述

这里注意虽然 “Available in GCC” 表示的是 GCC,但这里应该理解为 GCC 套件的整体版本要求,使用的是 c++ 所以对应的应该是更新 g++ 前端和对应的 libstdc++ 库

步骤1:安装并切换到 g++10

sudo apt update
sudo apt install -y g++-10 build-essential
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100

步骤2:重新Build

cmake -S ~/Project/CPP -B ~/Project/CPP/build -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
cmake --build ~/Project/CPP/build

步骤3:验证

#include <bits/stdc++.h>
#include <concepts>template<typename T>
concept LessComparable = requires(T a, T b) {{a < b} -> std::convertible_to<bool>;
};int main() {std::cout << "Hello, World!" << std::endl;return 0;
}

可支持编译执行这段代码即可

http://www.xdnf.cn/news/19111.html

相关文章:

  • AntSK知识库多格式导入技术深度解析:从文档到智能,一站式知识管理的技术奇迹
  • zyplayer-doc 开源知识库:部署与使用指南
  • 千年智造,一触即发 耐达讯自动化Profibus集线器如何让HMI触摸屏在工业4.0中“点石成金“?
  • 新人桌球笔记
  • Web前端入门:JavaScript 一个简单的 IndexedDB 数据库入门示例
  • 【开题答辩全过程】以 基于Vue Spring Boot的教师资格证考试助力系统设计与实现为例,包含答辩的问题和答案
  • QML Chart组件之坐标轴共有属性
  • AI人工智能系统搭建实战指南:常见陷阱与解决方案
  • 从零开始学习单片机17
  • PCIe 6.0的速度奥秘:数学视角下的编码革命与信号完整性突破
  • htb academy笔记-module-Penetration Testing Process(一)
  • Marin说PCB之POC电路layout设计仿真案例---11
  • 掌握 Linux 文件权限:chown 命令深度解析与实践
  • 【YOLO学习笔记】数据增强mosaic、Mixup、透视放射变换
  • LeetCode100-54螺旋矩阵
  • Edge浏览器新标签页加载慢
  • 零售行业全渠道应如何与零售后端系统集成?
  • Python 实战:内网渗透中的信息收集自动化脚本(5)
  • Rust项目的运行机制与实践
  • POE供电是什么?
  • 使用leapp升级Linux
  • 深入理解Go 与 PHP 在参数传递上的核心区别
  • 领域知识如何注入LLM-检索增强生成
  • Java 学习笔记(基础篇11)
  • ExcelJS实现导入转换HTML展示(附源码可直接使用)
  • JavaScript 基础核心知识点总结:从使用方式到核心语法
  • RAG 系统核心:深入理解向量相似度匹配与文本向量化
  • Springboot高校迎新系统2cbcd(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 【原创】MiniCPM-V 4.5模型测试 pk gemini2.5pro 本地8G显卡
  • 第四章 Vue3 + Three.js 实战:GLTF 模型加载与交互完整方案