0

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

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

然后我看到 Vs2022 Preview 支持 C++20。所以我安装了它,包括在内,但我仍然无法执行“std::counting_semaphore<5> slot(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 的实现,但我不能使用它!!!

请有人澄清我做错了什么!!!

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

2

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

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

在此处输入图像描述

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

在此处输入图像描述

而且我还可以在 Visual Studio 2019 中成功构建。

在此处输入图像描述

于 2021-08-04T05:40:55.613 回答