回 帖 发 新 帖 刷新版面

主题:如何在VC6.0下用pthread.h这个头文件啊?

如题,我之前用习惯了 linux 下的那个 pthread.h .
想在windows下使用,但不知道怎么做,
在百度搜索了下,弄来弄去都不行,
现在我已经在
ftp://sources.redhat.com/pub/pthreads-win32/pthreads-w32-2-7-0-release.exe
下载了那个 pthread 的东西.
希望能详细的说说步骤,
非常感谢!!!

回复列表 (共1个回复)

沙发

VC++6.0 下配置 pthread库2010年12月12日 星期日 13:14VC下的pthread多线程编程(2008-04-22 23:39:20) 转载 

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>


void* tprocess1(void* args){
       int i=1;
       while(i<=10){
            printf("process1:%d\n",i);
            i++;
       }
       return NULL;
}

void* tprocess2(void* args){
       int i=1;
       while(i<=10){
            printf("process2:%d\n",i);
            i++;
       }
       return NULL;
}

int main(){
       pthread_t t1;
       pthread_t t2;
       pthread_create(&t1,NULL,tprocess1,NULL);
       pthread_create(&t2,NULL,tprocess2,NULL);
       pthread_join(t1,NULL);
       pthread_join(t2,NULL);
       return 0;
}

 

运行之前需要做一些配置:

1.下载PTHREAD的WINDOWS开发包 pthreads-w32-2-4-0-release.exe(任何一个版本均可)

 http://sourceware.org/pthreads-win32/,解压到一个目录。

2.找到include和lib文件夹,下面分别把它们添加到VC++6.0的头文件路径和静态链接库路径下面:

  a).Tools->Options,选择Directory页面,然后在Show directories for:中选择Include files(默认),

     在Directories中添加include的路径。在Show directories for:中选择Library files,

     在Directories中添加lib的路径。 

  b).Project->Settings,选择Link页面,然后将lib下的*.lib文件添加到Object/library Modules,

     各lib文件以空格隔开。 

  c).将lib下的*.dll文件复制到工程目录下,即根目录。  

 

如果不配置环境,将出现以下错误:

Linking...
工程名.obj : error LNK2001: unresolved external symbol __imp__pthread_join
工程名.obj : error LNK2001: unresolved external symbol __imp__pthread_create
Debug/工程名.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.

工程名.exe - 3 error(s), 0 warning(s)
 

我来回复

您尚未登录,请登录后再回复。点此登录或注册