VS2010配置pthread库

1、下载:http://sourceware.org/pthreads-win32/#download,下载.zip版本的;然后解压;

2、执行a.bat和b.bat两个脚本,注意a.bat放到库的目录下;

a.bat:

rem put this file to :D:\#win pthread\pthreads-w32-2-9-1-release\Pre-built.2


copy include\pthread.h "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\"pthread.h
copy include\sched.h "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\"sched.h
copy include\semaphore.h "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\"semaphore.h

copy dll\x86\pthreadVC2.dll %windir%\pthreadVC2.dll
copy dll\x86\pthreadVCE2.dll %windir%\pthreadVCE2.dll
copy dll\x86\pthreadVSE2.dll %windir%\pthreadVSE2.dll

copy lib\x86\pthreadVC2.lib "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\"pthreadVC2.lib 
copy lib\x86\pthreadVCE2.lib "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\"pthreadVCE2.lib 
copy lib\x86\pthreadVSE2.lib "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\"pthreadVSE2.lib 


ping -n 2 127.1>nul

b.bat:

rem put this file to :D:\#win pthread\pthreads-w32-2-9-1-release\Pre-built.2


del /f /a /q "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\"pthread.h
del /f /a /q "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\"sched.h
del /f /a /q "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\"semaphore.h

del /f /a /q  %windir%\pthreadVC2.dll
del /f /a /q  %windir%\pthreadVCE2.dll
del /f /a /q  %windir%\pthreadVSE2.dll

del /f /a /q "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\"pthreadVC2.lib 
del /f /a /q "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\"pthreadVCE2.lib 
del /f /a /q "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\"pthreadVSE2.lib 


ping -n 2 127.1>nul

2、将include、lib加入到VS中去,注意如果机器为64位,则加lib的时候加的路径一定要到x86那里,如我的是E:\yangyang\pthreads-w32-2-9-1-release\Pre-built.2\lib\x86;
3、在链接器-输入-附加依赖项一栏添加 pthreadVC2.lib;pthreadVCE2.lib;pthreadVSE2.lib;
4、拷贝pthreadVC2.dll至工程目录,至此完成。

5、附测试程序代码:

#include
#include
#include
#pragma comment(lib, "pthreadVC2.lib")  //必须加上这句

void*Function_t(void* Param)
{
	pthread_t myid = pthread_self();
	while(1)
	{
		printf("线程ID=%d \n", myid);
		Sleep(4000);
	}
	return NULL;
}

int main()
{
	pthread_t pid;
	pthread_create(&pid, NULL, Function_t,NULL);
	while (1)
	{
		printf("in fatherprocess!\n");
		Sleep(2000);
	}
	getchar();
	return 1;
}


你可能感兴趣的:(VS2010配置pthread库)