GCC/G++ 使用特定版本的 libc++

GCC/G++ to use specific version of libc++

我在 Ubuntu 20 上,想尝试一些 C++20 功能,例如 std::osyncstream 以及 <syncstream> header .但是,这仅在 libc++-11 之后可用,请参阅:https://en.cppreference.com/w/cpp/compiler_support

我已经安装了 libc++-11-dev 但 g++ 仍然找不到 <syncstream> header。我知道 clang 有一个 -stdlib 标志,我能以某种方式强制 g++ 使用安装的 libc++-11 版本吗?

您还必须告诉 G++ 实际使用该 C++ 语言版本。使用 -std=c++__ 编译器标志(例如 -std=c++20

正如问题本身的评论中所讨论的:可以在本地构建 g++-11 的 experimental version 来解决此问题。