在Win7中使用MinGW中的pthreads

时间:2015-01-20 02:11:50

标签: pthreads mingw

2015-1-20,我在Win7中使用MinGW,尝试使用MinGW和Pthreads编译我的源代码。 MinGW已经支持POSIX线程,在“MinGW Installation Manager”中,我们可以安装pthreads dev包和pthreads lib。 但是当我编译我的源代码时,有一个错误:struct timespec重新定义,首先在pthread.h中,然后在unistd.h中,我不知道为什么。

在此之前,实际上我安装了没有pthreads dev和lib包的minGW,我下载了pthreads-for-win32源代码并在本地构建它。我使用-I / somewhere -L / somewhere -lpthreadGC2链接到我的源代码,它工作正常。

但是这一次,MinGW自我包装失败了。我需要帮助。 我无法上传图片来向您显示详细信息....

1 个答案:

答案 0 :(得分:6)

实际上,我找到了解决方案。

不要包括" unistd.h"在" pthread.h"之后,请使用本地winapi。

使用" pthreads"进行编码很容易。在Linux中使用gcc,但在Win7中不支持,使用" MinGW Installation Manager" (google" mingw"并下载)进行安装。 选择" mingw32-pthreads-win32"开发包装" MinGW标准库"当您安装mingw时,您不需要下载pthreads-for-win32源代码或在本地构建它。但是" pthread.h"将与" unistd.h"冲突,在Windows中,我们应该使用Windows API而不是unix API。