Ubuntu 20.04 上缺少 C++20 headers with Clang 13
Missing C++20 headers on Ubuntu 20.04 with Clang 13
我已经安装了 clang-13,但是当我尝试编译使用 C++20 headers 的程序时,我缺少 header 个错误。
#include <numeric>
#include <numbers> // missing
似乎 CMake 使用系统 headers(来自 ubuntu 附带的旧 GCC headers)。我如何说服它改用 Clang 的 headers?
Numbers header 是 C++20 的一部分
https://en.cppreference.com/w/cpp/header/numbers
安装最新版本的 g++ 解决了我的问题。例如,g++-11 是目前最新的版本。要在 Ubuntu 上安装它:
添加工具链ppa确保最新版本可用:
sudo add-apt-repository --update -y ppa:ubuntu-toolchain-r/test
sudo apt-get update -y
然后安装
sudo apt-get -y --fix-broken install gcc-11 g++-11
您可以在此处查看最新版本:
https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
我已经安装了 clang-13,但是当我尝试编译使用 C++20 headers 的程序时,我缺少 header 个错误。
#include <numeric>
#include <numbers> // missing
似乎 CMake 使用系统 headers(来自 ubuntu 附带的旧 GCC headers)。我如何说服它改用 Clang 的 headers?
Numbers header 是 C++20 的一部分 https://en.cppreference.com/w/cpp/header/numbers
安装最新版本的 g++ 解决了我的问题。例如,g++-11 是目前最新的版本。要在 Ubuntu 上安装它:
添加工具链ppa确保最新版本可用:
sudo add-apt-repository --update -y ppa:ubuntu-toolchain-r/test
sudo apt-get update -y
然后安装
sudo apt-get -y --fix-broken install gcc-11 g++-11
您可以在此处查看最新版本: https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test