如何在Windows上设置pthreads?

时间:2013-10-19 15:03:28

标签: c windows pthreads mingw

我在Windows here上找到了pthreads的实现,但我无法让它正常工作。谁能帮我安装pthreads?比如放置DLL,.lib和.h文件的位置?

另外,作为一个环境,我没有使用Visual Studio,而是使用Mingw的Codeblocks。

我通常在Linux上开发,但这个项目必须在Windows上,我已经使用pthreads实现了一些代码,所以我不想使用'windows.h'中的Windows Threads。

3 个答案:

答案 0 :(得分:8)

.dll可以进入PATH环境中列出的任何目录 变量

.lib文件可以进入LIB环境中列出的任何目录 变量

.h文件可以进入INCLUDE中列出的任何目录 环境变量。

另请参阅您分享的链接的FAQs页。

阅读Q6,Q7,Q8。

答案 1 :(得分:0)

对于Visual C ++用户(不是MingW),请按照以下步骤操作:

1)下载“ ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip

2)在解压缩文件夹中,打开子文件夹“ Pre-built.2”,您应该看到以下文件:

  • “ Pre-built.2 \ dll \ x64 \ pthreadVC2.dll”或“ Pre-built.2 \ dll \ x86 \ pthreadVC2.dll”
  • “ Pre-built.2 \ lib \ x64 \ pthreadVC2.lib”或“ Pre-built.2 \ lib \ x86 \ pthreadVC2.lib”
  • “ Pre-built.2 \ include \ pthread.h”
  • “ Pre-built.2 \ include \ sched.h”
  • “ Pre-built.2 \ include \ semaphore.h”

3)对于Visual Studio C ++ x64项目,请转到项目属性并相应地添加以下路径:

  • 其他lib文件添加“ yourpath \ Pre-built.2 \ lib \ x64 \”
  • 其他dll文件添加“ yourpath \ Pre-built.2 \ dll \ x64 \”
  • 其他包含文件添加“ yourpath \ Pre-built.2 \ include \”

根据您的项目版本(x64或x86)选择正确的文件。

答案 2 :(得分:0)

要在Windows的MSYS2中安装gcc

pacman -Syu gcc

就是这样!

通过在MSYS2中安装gcc,您也已经自动设置了pthreads

You may want to see an example which proves that pthreads is working

简而言之-如果编译并运行,与Linux上完全相同的代码可以正常工作 在MSYS2终端中。 (不一定总是正确,但对于 链接中的示例。)

参考文献:
https://www.msys2.org/wiki/MSYS2-installation/
https://stackoverflow.com/questions/7542286#65061835