gpt4 book ai didi

C++ 11 线程,错误调用纯虚函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:27:25 26 4
gpt4 key购买 nike

这是我正在尝试编译的非常简单的 C++11 线程 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
我收到以下错误
纯虚方法调用
在没有事件异常的情况下终止调用
中止


有什么问题吗,求大神帮忙
请注意,我是在配备 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

这是对 Clang 驱动程序的官方修复:

https://llvm.org/viewvc/llvm-project?view=revision&revision=191707

我不知道这以前是否也是 GCC 驱动程序中的错误,和/或是否已修复。

关于C++ 11 线程,错误调用纯虚函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23583317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com