我觉得我今天一直在搜索如何让#include <pthread.h>
在Windows 10上的Visual Studio 2017中工作,并且没有找到有效的答案。有人可以告诉我如何让这个工作?
我收到的错误是:无法打开源文件“pthread.h”
答案 0 :(得分:8)
答案 1 :(得分:2)
如果安装了 vcpkg ,则可以执行以下操作:
vcpkg.exe install pthread
这将从https://sourceforge.net/projects/pthreads4w下载一些代码,进行编译并将其安装在您的系统中。如果您的计算机上正确设置了 vcpkg ,则Visual Studio应该自动使用这些文件。
答案 2 :(得分:1)
Windows本身不支持pthread。
您可以使用an implementation of pthreads for Windows。如果您只想尝试在Windows上运行某些代码,那么这可能是您最好的选择。
如果你可以修改代码,你可能想看一下你实际使用的pthread函数;如果您只需要一个互斥锁,那么围绕pthreads / winapi的#ifdef可能是一个更好的方法。
还有一些项目实现了与完整pthreads API一样富有表现力的兼容性层,但对于大多数项目来说已经绰绰有余了。 TinyCThread是一个选项(我维护,所以采取一些盐的推荐),实现C11线程API。
其他选项包括:
OpenMP也可能是一个不错的选择。它非常易于使用,但操作更高,因此可能需要更大量的重写。
答案 3 :(得分:1)
对于Visual Studio 2017,我已通过NuGet Packages安装。
尝试以下步骤,