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

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.dtcms.com/a/356965.html

相关文章:

  • el-select多选下拉框出现了e611
  • MySQL 中ORDER BY排序规则
  • 物联网平台中的Swagger(二)安全认证与生产实践
  • Socket编程核心API与结构解析
  • 【C++】掌握类模板:多参数实战技巧
  • 构筑沉浸式3D世界:渲染、资源与体验的协同之道
  • 云计算学习笔记——逻辑卷管理、进程管理、用户提权RAID篇
  • N32G43x Flash 驱动移植与封装实践
  • DBeaver 的 PostgreSQL 驱动包默认存储位置
  • 序列化和反序列的学习
  • 移动社交时代电商流量获取新路径:基于社群与开源AI智能名片链动2+1模式S2B2C商城小程序的探索
  • 【基础-单选】关于Button组件,下面哪个样式是胶囊型按钮
  • 大模型之RAG, 检索增强生成
  • 【若依】RuoYi-Vue-springboot3分离版
  • RS485、RS232、RS422协议
  • 浔川代码编辑器v2.1.0公测版上线时间公告
  • 基于FPGA的DDR3读写实验学习
  • LeetCode算法日记 - Day 26: 归并排序、交易逆序对的总数
  • 河南葱香鸡蛋,嫩滑香浓超棒!
  • 企业微信如何设置长期有效的获客二维码?3步生成!
  • 机器人视觉检测
  • 决胜财报季,证券投研如何实现财报自动化分析录入?
  • 企微智能表格对接业务系统
  • 指纹手机技术:破解亚马逊多账号运营痛点的底层逻辑与实践
  • useEffect中直接使用 await报错
  • 直流电机驱动与TB6612
  • Shell 中 ()、(())、[]、{} 的用法详解
  • X-anylabeling3.2标注工具的安装与使用
  • Python五天极限复习
  • 突破传统企业组网瓶颈:某科技公司智能组网服务项目深度解析