This question already has answers here:
C11 GCC threads.h not found?
                                
                                    (3个答案)
                                
                        
                                2年前关闭。
            
                    
我想做的是在Windows 10上使用C11标准的threads.h
我已经用MinGW安装了Code :: Blocks。我已经设置了“编译器设置” -std=c11标志,但是没有运气。我还安装了WinGW版本的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静态或动态库,因此非常耗时。

任何帮助或任何新信息将不胜感激。

最佳答案

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线程。

关于c - C11 thread.h库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50825123/

10-12 20:53