Windows10下g++编译报错std::this_thread::sleep_for不存在如何解决
编译错误原因
- 核心原因是
std::this_thread是C11版本才正式引入的标准库特性,你本地gcc/g默认编译时没有启用C++11及以上的标准支持,因此无法识别该符号。 - 在线replit平台默认会使用高版本C++标准编译程序,因此可以正常运行。
- 极少数情况下,如果你使用的是老旧的Win32线程模型的MinGW工具链,本身没有完整实现C++11线程相关接口,也会触发该报错。
修复方案
- 编译时手动指定C++标准参数即可,示例命令:
g++ test.cpp -o test.exe -std=c++11
也可以根据需求使用更高版本的标准,比如-std=c++17或-std=c++20。
2. 如果添加标准参数后仍然报错,更换为POSIX线程模型的MinGW-w64工具链即可解决。
内容的提问来源于stack exchange,提问作者divinelemon
相关产品推荐
相关产品推荐

