GCC 8.1+Code::Blocks环境下C11的<threads.h>不被识别如何解决
解决GCC 8.1 + Code::Blocks中<threads.h>找不到的问题
问题原因
<threads.h>是C11标准定义的线程库头文件,但GCC 8.1默认未启用C11线程支持,且该头文件的实现依赖POSIX线程库,必须通过特定编译选项才能启用。
解决步骤
- 打开Code::Blocks,右键你的项目选择Build options
- 切换到Compiler settings标签页,在Other options输入框中添加以下编译标志:
-std=c11 -pthread - 点击OK保存设置,重新编译项目即可。
补充说明
-std=c11用于强制编译器遵循C11标准,-pthread则会同时处理编译阶段的线程头文件引入和链接阶段的线程库依赖,二者缺一不可。另外确保系统已安装POSIX线程库的开发组件(Linux下通常是libpthread-stubs0-dev,Windows MinGW环境一般默认自带)。
内容的提问来源于stack exchange,提问作者Hemdy Mameche
相关产品推荐
相关产品推荐

