8

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

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

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

4

3 回答 3

13

.dll 可以放在 PATH 环境变量中列出的任何目录中。

.lib 文件可以放在 LIB 环境变量中列出的任何目录中。

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

另请参阅您共享的链接的常见问题解答页面。

阅读 Q6、Q7、Q8。

于 2013-10-19T16:53:38.270 回答
3

对于 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"
  • “预建的.2\include\pthread.h”
  • “预建的.2\include\sched.h”
  • “预建的.2\include\semaphore.h”

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

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

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

于 2019-06-06T02:25:20.340 回答
1

gcc在 Windows 上的 MSYS2 上安装:

yes | pacman -Syu gcc

而已!

通过gcc在 MSYS2 上安装,您也会自动获得pthreads

这是一个在 MSYS2 (& Linux) 上演示 pthreads 的示例

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

参考

于 2020-11-29T16:10:22.620 回答