我要做的是在Windows 10上使用C11标准中的threads.h
。
我用MinGW安装了Code :: Blocks。我已经设置了编译器设置-std=c11
标志,但没有运气。我也安装了WinG版本的MinGW,我已将其设置为-std=c11
的默认版本,但也没有正面结果。我已下载最新版本的tdm-gcc,但没有任何变化。
我得到的只有:fatal error: threads.h: No such file or directory
我知道有人刚刚安装了最新版本的Code :: Blocks,他有threads.h
。我这样做了,但它似乎不起作用。我已经阅读了这里的所有问题,我几乎知道答案和评论只是阅读问题中的第一个短语。
我发现Pelles C Windows开发工具包可以使用C11标准。 threads.h
可选库已集成。我已经安装了它,但我有很多GNU静态库(.a)应该编译成Windows静态或动态库,所以它将非常耗时。
任何帮助或任何新信息将不胜感激。
答案 0 :(得分:0)
TDM-GCC最后一次出现在5.1.0版本(2015年6月28日发布)。他们之后没有更新过他们的网站或下载。
对于C11线程本身,它们是编译器供应商不需要的可选功能。测试编译器中是否存在__STDC_NO_THREADS__
。然后根据测试尝试包含threads.h
。
C11线程函数基于pthreads
,大多数函数和结构几乎是POSIX线程接口的直接一对一映射。
因此,如果您仍然倾向于在Windows上尝试使用C11线程(因为您使用的是TDM),我建议您现在放弃并使用稍微更旧但稳定的winpthreads
库提供几乎相同的功能。将您的编译器升级到最新的MingW-w64以从中受益。
可悲的是,在我知道的Windows上还没有C11线程。