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 来解决此问题。
我在 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 来解决此问题。