这是我正在尝试编译的一个非常小的 C++11 Thread API 代码
#include<iostream>
#include<thread>
using namespace std;
void threadFunction(void)
{
cout<<"hello from thread:";//<<this_thread::get_id()<<endl;
}
int main()
{
std::thread t(threadFunction);
t.join();
return 0;
}
将其编译为
g++ thread1.cpp -pthread -std=c++11
我收到以下错误
纯虚方法调用
在没有活动异常的情况下终止调用
Aborted
怎么了,有人可以帮忙吗
请注意,我正在使用 ARM A8 处理器的 Beaglebone Black 上进行编译
这是 libstdc++ 或 Clang 中的错误,具体取决于您问的是谁。如果您使用的是 2013 年 10 月之后发布的 Clang 版本,它应该可以工作。运行时您会看到什么g++ --version
?
作为解决方法,您可以尝试使用此命令行。我不保证它会起作用;请发表评论并附上您的结果。
g++ -pthread -std=c++11 -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4} thread1.cpp
这是错误报告:
http://llvm.org/bugs/show_bug.cgi?id=12730 http://llvm.org/bugs/show_bug.cgi?id=12730
以下是对 Clang 驱动程序的官方修复:
我不知道这是否也是 GCC 驱动程序中的一个错误,和/或是否已修复。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)