在VS2012中配置pthread_win32(包含x86和x64两种平台)

来源:互联网 发布:身份证背面制作软件 编辑:程序博客网 时间:2024/05/02 13:59
1. 下载pthreads-w32-2-9-1-realease.zip 地址:http://www.mirrorservice.org/sites/sourceware.org/pub/pthreads-win32/
2. 下载后解压,出来三个文件夹,我们只需要Pre-built.2文件夹3. 为了方便管理, 将include文件夹中的三个.h头文件拷贝到VS的安装路径/VC/lib路径下面,例如我的是C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include
4. 同样地,将lib文件夹下面的两个文件夹x64/和x86/拷贝到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib下面
5. dll文件下同样有x64和x86两个文件夹,程序实际运行时候需要用到。这里注意,要将x64文件夹拷贝到C:\Windows\System32\下面,让64位程序运行;而x86文件夹要拷贝到C:\Windows\SysWOW64\下面,让32位程序运行
6. 在新建的VS工程中,属性->VC++目录->包含目录、库目录分别追加:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include  和  C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\x64(如果是32位程序就改成x86)
7. 再打开链接器->输入->附加依赖项,加上pthreadVC2.lib,至此配置完成,复制以下代码进行测试,成功显示结果即表示成功


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

void* Function_t(void* Param)  
{  
    printf("我是线程! ");  
    pthread_t myid = pthread_self();  
    printf("线程ID=%d ", myid);  
    return NULL;  
}  
  
int main()  
{  
    pthread_t pid;  
    pthread_attr_t attr;  
    pthread_attr_init(&attr);  
    pthread_attr_setscope(&attr, PTHREAD_SCOPE_PROCESS);  
    pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);  
    pthread_create(&pid, &attr, Function_t, NULL);  
    printf("======================================== ");  
    getchar();  
    pthread_attr_destroy(&attr);  
    return 0;  
}  

0 0
原创粉丝点击