无法在 Visual Studio 2019 和 2022 中使用 std:: counting_semaphore

Unable to use std:: counting_semaphore in Visual Studio 2019 and 2022

所以我试图在 visual studio 2019 年和 2022 年使用 counting_semaphore,但我得到的只是“std 没有成员 counting_semaphore”。

我在 visual studio 2019 年在各个组件中添加了 clang 11 后尝试了它,但我仍然遇到相同的错误。然后我就觉得它不支持 C++20。所以我想也许这就是它不起作用的原因。

然后我看到Vs2022 Preview支持C++20。所以我安装了它,包括但我仍然不能做“std::counting_semaphore<5> slots(5);”正如它所说,std 没有名为计数信号量的成员。

我还在 2022 预览版安装程序的各个组件中安装了 clang12,但仍然无法正常工作。

我不确定我做错了什么。

我在网上看到例子:

https://www.modernescpp.com/index.php/semaphores-in-c-20 https://en.cppreference.com/w/cpp/thread/counting_semaphore

说了怎么用,但是我把代码放到vs里就不行了。

我可以在#include 上执行“查看代码”,它显示了 counting_semaphore 的实现,但我不能使用它!!!

好心人请澄清我做错了什么!!!

是否设置了c++语言标准?

Property -> General -> C++ Language Standard -> /std: c++ latest

我可以在 visual studio 2022 预览版 17.0.0 预览版 2.0 中成功构建。

我也可以在 visual studio 2019 年构建成功。