std :: future gcc实验性实现C++ 0x的异常

con*_*ius 12 multithreading g++ c++11

我正在尝试使用C++ 0x线程,部分在gcc 4.5中实现,我遇到了一个问题,我无法理解.我们来看看这段代码吧

#include <future>
#include <iostream>

int main()
{
        std::cout << std::async([]() { return 10; }).get() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

它很简单,应该可以工作,但事实并非如此.它抛出std :: system_error

在抛出'std :: system_error'的实例后调用终止what():Aborted

what()返回空字符串,因此根本没有错误信息.更重要的是,它没有使用在线编译器,它也使用gcc 4.5,但现在它可以正常工作.你可以在http://liveworkspace.org/code/f3003d62a758e047a880920c84f1241c看到它, 但昨天它抛出相同的异常(但是,服务器上没有进行任何更改).你知道这是什么问题吗?

谢谢.

小智 18

尝试使用-lpthread进行链接.由于某种原因,线程库在没有pthreads的情况下编译,但在运行时崩溃.