g++“生成器:没有这样的文件或目录” - 哪个版本的 GCC 支持 <generator> 标头?

问题描述 投票:0回答:1

我已经构建了 GCC 13.2.0,我相信它对 c++23 有很好的支持。

我正在尝试编译一些使用 c++23 std::generator 的代码。

例如:https://en.cppreference.com/w/cpp/coroutine/generator

c++23 应该有生成器头:https://en.cppreference.com/w/cpp/coroutine/generator

#include <generator>

但是,当我用 g++ 编译它时,出现以下错误:

$ ~/opt/gcc/13.2.0/bin/g++ -Wall -std=c++23 generator.cpp -o generator
generator.cpp:3:10: fatal error: generator: No such file or directory
    1 | #include <generator>
      |          ^~~~~~~~~~~
compilation terminated.

我的猜测是 13.2.0 尚不支持此功能,但我正在努力确认该猜测。我的问题是,哪个版本的 GCC 支持此功能?

我查看了这个页面: https://gcc.gnu.org/projects/cxx-status.html 但没有什么可以告诉我答案。

我还查看了此页面: https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2023

g++ generator c++23
1个回答
0
投票

感谢HolyBlackCat,我找到了答案是GCC 14。

在撰写本文时,14 尚未准备好发布,但在 gcc 网站上浏览了一下,我发现这个页面似乎证实了这一点: https://gcc.gnu.org/gcc-14/changes.html

改进了对 C++23 的实验支持,包括:

...

用于从协程获取结果的 std::generator 视图。

...

© www.soinside.com 2019 - 2024. All rights reserved.