以下代码在 Microsoft 和 Clang 编译器上正常,但在 GCC 上失败。它抛出 std::system_error
和消息 -1
。这是已知问题吗?
#include <future>
int main()
{
std::packaged_task<void()> task([](){});
task();
}
最佳答案
您需要与-lpthread
链接,否则C++运行时库无法使用线程支持。这已被报告为 GCC 错误:
我同意这里的可用性相当差。还有一个previous discussion .
关于c++ - 为什么在GCC上调用std::package_task失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45166084/