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