致命错误:thread.h:没有这样的文件或目录

时间:2015-10-13 00:16:12

标签: c windows multithreading

有没有办法访问thread.h文件。

我无法在Windows中找到thread.h头文件,因为线程与操作系统有关。

我尝试使用pthread.h一个外部库,但是根本没有找到thread.h,据我的教授在solaris工作。

2 个答案:

答案 0 :(得分:4)

这是一个很好的例子,用“C”和“C ++”标记问题非常容易混淆,因为答案完全不同。

如果您使用 C ++ 11 或更高版本进行编码,那么您应该

string.split(/\s{1,}/).join(' ')

并使用#include <thread> 类。你没事。

如果您要编码 C11 ,那么您必须等到实施支持它。 §7.26.1C11标准的第2节说:

  

定义宏std::thread的实现不需要提供此标头,也不需要支持其任何设施。

您可以查看__STDC_NO_THREADS__您的实施是否定义了它。至少我的海湾合作委员会呢。

目前,如果您无法切换到C ++,请使用第三方线程库,例如pthreads。

答案 1 :(得分:0)

thread.h在c ++标准的上下文中没有明确定义。如果您有符合c ++ 11标准的工具链,则需要

#include <thread>

reference documentation中所述。

预标准工具链可能需要使用-std=c++0x-std=c++11编译器标志明确指定标准。

当您将焦点更改为时,包括c ++标头将无效。您可以尝试pthread.h