首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >std::thread错误(线程不是std的成员)

std::thread错误(线程不是std的成员)
EN

Stack Overflow用户
提问于 2010-03-26 05:39:19
回答 2查看 58.6K关注 0票数 32

我使用macports编译并安装了gcc4.4。

当我尝试使用-> g++ -g -Wall -ansi -pthread -std=c++0x main.cpp进行编译时:

代码语言:javascript
复制
 #include <thread>
 ...
  std::thread t(handle);
  t.join();
 ....

编译器返回:

代码语言:javascript
复制
 cserver.cpp: In member function 'int CServer::run()':
 cserver.cpp:48: error: 'thread' is not a member of 'std'
 cserver.cpp:48: error: expected ';' before 't'
 cserver.cpp:49: error: 't' was not declared in this scope

但是std::cout <<...编译得很好..

有谁可以帮我?

EN

回答 2

Stack Overflow用户

发布于 2010-03-26 05:50:46

丢弃-ansi,它的意思是-std=c++98,这显然不是你想要的。它还会导致定义宏__STRICT_ANSI__,这可能会改变标头的行为,例如,通过禁用C++0x支持。

票数 6
EN

Stack Overflow用户

发布于 2016-12-01 03:49:07

我在使用MinGW的windows上也遇到了同样的问题。我在github mingw-std-threads上找到了中的包装器类,包括全局MinGW目录下的mingw.mutex.h和mingw.thread.h文件,修复了这个问题。我所要做的就是包含头文件,代码保持不变

代码语言:javascript
复制
#include "mingw.thread.h"

...
std::thread t(handle);
...
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2519607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档