为什么在 GCC 上调用 std::package_task 失败

Why does std::package_task fails to be called on GCC

以下代码在 Microsoft 和 Clang 编译器上正常,但在 GCC 上失败。它抛出 std::system_error 和消息 -1。是已知问题吗?

#include <future>

int main() 
{
    std::packaged_task<void()> task([](){});
    task();
}

GCC

Clang

Visual C++

您需要 link 和 -lpthread,否则没有线程支持 C++ 运行-time 库可以使用。这已被报告为 GCC 错误:

我同意这里的可用性很差。还有一个previous discussion.