VS2015中配置Pthread

一、安装平台

       Win7\8\10   64位           Microsoft Visual Studio 2015

二、下载

pthreads-w32-2-9-1

tp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip

解压后共有三个文件夹

Pre-built.2

pthreads.2

QueueUserAPCEx

打开Pre-built.2

dll                 ——>动态链接库

include         ——>头文件

lib                 ——>静态链接库

三、配置头文件及静态链接库

把include文件夹中的三个文件直接拷贝到Visual Studio安装目录下VC->include文件夹下,例如我将include中文件拷贝到的位置是

E:\Software\Microsoft Visual Studio 11.0\VC\include


把lib文件夹下的内容拷贝到Visual Studio安装目录下默认的lib寻找路径中,即VC->lib中,例如我将lib文件夹下的x64与x86两个文件直接拷贝到

E:\Software\Microsoft Visual Studio 11.0\VC\lib


四、配置动态链接库

把dll下的x64文件夹下的两个文件,即pthreadGC2.dll与pthreadVC2.dll拷贝到C:\Windows\System32下(用于64位程序的运行)

把dll下的x86文件夹下的五个文件,拷贝到C:\Windows\SysWOW64下(用于32位程序的运行)


五、运行测试

#include <pthread.h>
#include <stdio.h>
#define NUM_THREADS 5

#pragma comment(lib,"pthreadVC2.lib")    //必不可少,这是告诉编译器在编译形成的.obj文件和.exe文件中加一条信息,使得链接器在链接库的时候要去找pthreadVC2.lib这个库,不要先去找别的库。(.exe文件找DLL 也是这种写法,例如 pthreadVC2.dll)


void *PrintHello(void *threadid)
{
int tid;
tid = (int)threadid;
printf("Hello World!It's me,thread #%d!\n", tid);
pthread_exit(NULL);
}
int main(int argc,char *argv[])
{
pthread_t threads[NUM_THREADS];
int rc, t;
for (t = 0; t < NUM_THREADS; t++)
{
printf("In main:creating thread %d\n", t);
rc = pthread_create(&threads[t], NULL, PrintHello, (void *)t);
if (rc)
{
printf("ERROR:return code from pthread_create() is %d\n", rc);
exit(-1);
}
}
pthread_exit(NULL);
}

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Visual Studio 2019配置pthread库的多线程支持,可以按照以下步骤进行: 1. 首先,从https://sourceforge.net/projects/pthreads4w/files/pthreads-w32/下载最新版本的pthread库,或者从百度网盘获取。 2. 将下载好的pthread库解压到一个路径下,例如C:\pthread。 3. 在Visual Studio 2019创建一个新的控制台应用程序项目。 4. 点击“项目”菜单,选择“属性”。 5. 在属性页,选择“VC++目录”选项卡,在“包含目录”添加pthread.h的所在目录,例如C:\pthread\Pre-built.2\include。 6. 在“库目录”添加pthread库的lib文件所在目录,例如C:\pthread\Pre-built.2\lib\x64和C:\pthread\Pre-built.2\lib\x86。 7. 在“链接器”选项卡,选择“输入”选项卡,在“附加依赖项”加入pthreadVC2.lib和pthreadVCE2.lib。 8. 在代码添加头文件#include <pthread.h>。 现在,你可以编写多线程代码并使用pthread库了。例如,你可以使用以下代码来创建一个线程并打印一条消息: #include <iostream> #include <pthread.h> using namespace std; void* func(void* arg) { cout << "Hello from thread!" << endl; pthread_exit(NULL); } int main() { pthread_t thread; int rc = pthread_create(&thread, NULL, func, NULL); if (rc) { cout << "Error: unable to create thread," << rc << endl; return -1; } pthread_join(thread, NULL); return 0; } 这样,你就成功配置了pthread库的多线程支持。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [vs2019 C++配置多线程pthread库](https://blog.csdn.net/weixin_44770969/article/details/129389356)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [VS 2019配置多线程pthread库 - 及自我解析](https://blog.csdn.net/wu_zhiyuan/article/details/116306158)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunxiaopengsun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值