0、pthread源码下载:https://sourceware.org/pthreads-win32/

1、下载pthreads-w32-2-9-1-release.zip完毕后,解压,内容如下

其中,【Pre-built.2】是pthreads for win32的头文件和库文件,【pthreads.2】是源代码,【QueueUserAPCEx】是一个驱动,需要WDK支持编译。

2、将【.\pthreads-w32-2-9-1-release\Pre-built.2\include】目录下的头文件拷贝到VS2017的安装目录,当前环境下是【C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include

3、把【.\pthreads-w32-2-9-1-release\Pre-built.2\lib】下的静态库文件拷贝到VS2017的安装目录,当前环境下是【C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\lib】,x86和x64对

4、把【.\pthreads-w32-2-9-1-release\Pre-built.2\dll】下的动态库文件拷贝到系统目录下,x86文件对应C:\Windows\SysWOW64目录,x64文件对应C:\Windows\System32目录

也可以在某个项目中引用该库,或者用更加时髦的Nuget也可以找到这个库。

配置好后,可用以下代码进行测试:

 #include "pch.h"
#include <iostream>
#include <stdio.h>
#include <pthread.h>
#include <assert.h> #pragma comment(lib,"x86/pthreadVC2.lib") void* Function_t(void* Param)
{
std::cout << "多线程 " << std::endl;
pthread_t myid = pthread_self();
std::cout << "线程ID=" << myid.x << std::endl;
return NULL;
} int main(int argc, const char *argv[])
{
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);
std::cout << "======================================== " << std::endl;
getchar();
pthread_attr_destroy(&attr);
return ;
}

如果在编译时报错【C2011 “timespec”:“struct”类型重定义】,原因是【pthread.h 中的 timespec 和 time.h 中的结构定义重复了,同时两个头文件中的编译条件不同,造成了结构的重复定义】,

解决方案:

#if !defined( PTHREAD_H )
#define PTHREAD_H
下面加上
#define HAVE_STRUCT_TIMESPEC

Win10+VS2017配置pthread的更多相关文章

  1. vs2017配置pthread.h的方法

    一.背景(以下为走不通的配置方法!) 笔者最开始配置pthread.h,采用的是vs自动安装的方法,如图所示. 点击完“管理NuGet程序包”之后,弹出一个页面,如下,在“浏览”中输入pthread. ...

  2. CAFFE在win10+VS2017下的安装笔记

    老版的caffe在BVLC的github上已经找不到,如果要想下载老版caffe可以下载微软的caffe版本:https://github.com/Microsoft/caffe 网上的大多安装caf ...

  3. Win10 Hyper-V 配置

    Win10 Hyper-V 配置 安装 Hyper 程序和功能 -> 启用和关闭windows -> Hyper-V Hyper-V 虚拟网类型 外部网络 [外网/物理机/虚拟机] 内部网 ...

  4. CodeBlocks配置pthread环境

    参考资料:MinGW配置pthread环境 按[参考资料]里说的[下载资源]后,将libpthreadGC2.a放到codeBlocks安装目录下的MinGW\lib目录下,然后将pthread.h ...

  5. VC++6.0 下配置 pthread库2010年12月12日 星期日 13:14VC下的pthread多线程编程 转载

    VC++6.0 下配置 pthread库2010年12月12日 星期日 13:14VC下的pthread多线程编程     转载 #include <stdio.h>#include &l ...

  6. win10 如何配置 java jdk1.8环境变量(2017.2.24)

    win10 如何配置 java jdk 环境变量 这里的win10 为全新安装的系统 一.安装 下载 jdk 64位 windows 版本安装(默认安装) 默认安装的路径: C:\Program Fi ...

  7. Qt5.11.1安装与VS2017配置

    Qt5.11.1安装与VS2017配置 转 https://blog.csdn.net/gaojixu/article/details/82185694 文章目录 Qt5.11.1安装与VS2017配 ...

  8. VS2017 配置QT5

    QT安装 1. QT下载 2. 安装过程中,组件的选择(图自https://blog.csdn.net/gaojixu/article/details/82185694) 3. 安装完成 VS2017 ...

  9. Win10如何配置Jdk环境变量

    对于每一位做Java开发的朋友来说,Jdk是必须要安装的,安装好了Jdk,其实并没有结束,还需要配置Jdk的环境变量,系统在不断地更新,小编给大家介绍一下如何在Win10下配置Jdk,并检测是否配置成 ...

随机推荐

  1. 【Day3】4.Xpath语法与案例

    课程目标 1.谷歌浏览器配置Xpath 2.Xpath常用语法 3.Xpath常用案例 1.谷歌浏览器配置Xpath Xpath下载:http://chromecj.com/web-developme ...

  2. 13_Redis_持久化

    一:概述: Redis的高性能是山于其将所有数据都存储在了内存中,为了使Redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘中,这一过程就是持久化. Redis支持两种方式的持久化,一 ...

  3. Derby 数据库 客户端 ij使用

    Derby是开源的.嵌入式的Java数据库程序,ij是Derby提供的客户端工具,相当于其他数据库提供的sqlplus工具. ij是纯Java的程序,不用安装,使用起来就像运行普通的Java应用程序一 ...

  4. Navicat Premium 12 安装 与 激活

    官方简体中文下载网址:https://www.navicat.com.cn/download/navicat-premium 安装的过程....(都是中文)所以略过. 开始破解....( ...... ...

  5. 第四章 Jinja2模版

    模板简介: 在之前的章节中,视图函数只是直接返回文本,而在实际生产环境中的页面大多是带有样式和复杂逻辑的HTML代码,这可以让浏览器渲染出非常漂亮的页面.目前市面上有非常多的模板系统,其中最知名好用的 ...

  6. http协议。会话控制cookie、session

    http协议是无状态的协议.每次访问页面的http协议都是独立的,正是因为http协议是无状态的,所以导致访问一个页面后再去访问另一个页面的时候,一些数据会消失,比如:用户的登录信息就会消失.那么怎么 ...

  7. JSONOjbect,对各种属性的处理

    import com.alibaba.fastjson.JSONObject; public class JsonTest { public static void main(String[] arg ...

  8. git branch/meger step(3)

    # update last repositories git pull git log # create yourself repositories base on last repositories ...

  9. webpack给目录起别名

    1. 配置文件目录: build>webpack.base.config.js: resolve: { alias: { '@': resolve('src'), 'styles': resol ...

  10. hdu 5187 zhx's contest (快速幂+快速乘)

    zhx's contest Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) To ...