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;
}
可支持编译执行这段代码即可