C++11 thread类在windows上无法使用。std 没有成员 thread、thread not member of std

本文针对C++11thread类在Windows环境下无法使用的问题,提供了详细的解决步骤。核心原因是MinGW-GCC缺少C++11线程类实现。解决方法包括从GitHub下载并编译特定的头文件,将其放置在正确的MinGW目录下,并在程序中引用mingw.thread.h头文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++11 thread类在windows上无法使用 std 没有成员 thread、thread not member of std

使用C++11其他特性完全没问题

这个问题原因是MinGW GCC当前仍缺少标准C ++ 11线程类的实现。

似乎对于跨平台线程实现,GCC标准库依赖于gthreads / pthreads库。如 果该库不可用(与MinGW一样),则不会定义类std::thread,。但是,仍然在系统头文件中定义了各种可用的帮助程序类。因此,此实现不重新定义它们,而是包括那些标头。std::mutexstd::condition_variable

解决方法

Stackoverflow上的类似问题: 传送门.

本人解决方法
1.github下载重新编译的头文件,链接,由于网络关系下载可能较慢,我这里放了我已将下好的资源,大家自行下载,头文件压缩包
2.将下载好的头文件放到你的mingw文件中
3.路径:…\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0\include\c++
4.在程序中写头文件的时候用

#include<mingw.thread.h>

5.complete!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值