作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Code::Blocks 13.12 和 TDM-GCC(4.7.1 版,32 位)。当我尝试使用线程类时,出现以下错误: 'thread' is not a member of 'std'
我确定#include <thread>
.我启用了编译器标志 -std=c++11
告诉编译器符合 C++11 标准。
我想也许我的GCC版本不够新,所以我安装了TDM-GCC 4.8.1;当我使用它的编译器时,我没有这个问题。然而,然后我读到 GCC 版本低至 4.4 支持 C++11 线程类,这意味着我拥有的 GCC 原始版本 (4.7.1) 已经足够最新了。出了什么问题?
最佳答案
MinGW(包含在 TDM-GCC 中)带有两个线程 API 之一:winpthreads(基于 POSIX 线程 API,pthreads)或 Win32 线程 API。如果你有一个带有 Win32 线程 API 的版本,std::thread 是 disabled . TDM-GCC 4.7.1 使用 Win32 线程 API,而 TDM-GCC 4.8.1 及更高版本带有 winpthreads。这就是编译器在一种情况下成功但在另一种情况下失败的原因。
对于 'thread' is not member of 'std'
问题,这导致了 2 种可能的解决方案:
关于c++ - 为什么我会收到此错误 : 'thread' is not a member of 'std' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21460817/
我是一名优秀的程序员,十分优秀!