Win10+VS2012配置pthread

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也可以找到这个库。

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

 1 #include "pch.h"
 2 #include <iostream>
 3 #include <stdio.h>
 4 #include <pthread.h>
 5 #include <assert.h>
 6
 7 #pragma comment(lib,"x86/pthreadVC2.lib")
 8
 9 void* Function_t(void* Param)
10 {
11     std::cout << "多线程 " << std::endl;
12     pthread_t myid = pthread_self();
13     std::cout << "线程ID=" << myid.x << std::endl;
14     return NULL;
15 }
16
17 int main(int argc, const char *argv[])
18 {
19     pthread_t pid;
20     pthread_attr_t attr;
21     pthread_attr_init(&attr);
22     pthread_attr_setscope(&attr, PTHREAD_SCOPE_PROCESS);
23     pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
24     pthread_create(&pid, &attr, Function_t, NULL);
25     std::cout << "======================================== " << std::endl;
26     getchar();
27     pthread_attr_destroy(&attr);
28     return 0;
29 }

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

解决方案:

#if !defined( PTHREAD_H )
#define PTHREAD_H

下面加上

#define HAVE_STRUCT_TIMESPEC

注意:使用时要在文件开头加上

#pragma comment(lib,"x86/pthreadVC2.lib")

原文地址:https://www.cnblogs.com/yuan-yang/p/12678535.html

时间: 2024-11-10 17:46:37

Win10+VS2012配置pthread的相关文章

vs2012配置opencv及简单测试

为visual studio2012搭建openCV平台,实现打开图片. 实现步骤: 1.1.配置环境变量 基于win7操作系统的环境配置步骤: 1.1.1 计算机—>属性—>更改设置—>高级—>环境变量—>系统变量 1.1.2 系统变量中选择新建,弹出的新建的系统变量.变量名中填写 opencv,在下面变量值一栏填写F:\opencv\build\x86\vc11\bin点击确定关闭. 变量值为opencv的安装位置及dll文件,实现与vs2012的数据和资源共享. 1.1

opencv-2.4.9与VS2012配置(Win7)

如何让HelloWorld项目中的HelloWorld文字实现自动运动呢? 有的童鞋会想到使用线程,不断修改Label的Position, 这样不行,因为在Cocos2d-x中只能在主线程中来修改Node中的信息,这是由于所有的node都是非线程安全的,如果我们的场景移除了node 在子线程种可能引用错误,所以,要让Node执行特定的变化,需要在当前的Node中使用Schedule 使用方法很简单 1.在当前的HelloWorldScne.h中添加一个方法在HelloWorldScene 如:

VS2012 配置 OpenCV3.0

VS2012 配置 opencv3.0,相比之前的版本,3.0的配置简单了好多. 通过配置属性文件,可以做到一次配置,重复使用! 根据文章的操作在 win7 64bit VS2012 下成功配置 opencv3.0,亲测可用!   1. 配置系统环境变量 配置方法如下: [计算机]->[(右键)属性]->[高级系统设置]->[高级(标签)]->[环境变量]->"双击"系统变量中的PATH->在变量值里面添加相应的路径. 对于32位系统,就添加: &q

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

VC++6.0 下配置 pthread库2010年12月12日 星期日 13:14VC下的pthread多线程编程     转载 #include <stdio.h>#include <stdlib.h>#include <pthread.h> void* tprocess1(void* args){       int i=1;       while(i<=10){            printf("process1:%d\n",i);

一、Open CV3.0.0 与 VS2012配置

第一步,准备软件及开发环境 1.OpenCV 3.0.0 下载地址:http://www.opencv.org.cn/index.php/Download ,下载最新版本的open cv,双击后会出现解压提示,实际上就是“安装”了,路径填写为 D:/opencv,然后确定. 注意:D:/opencv 可以为任意自己希望opencv安装的路径,解压完成后,会在你所填目录中新增一个 opencv文件夹, 里面就是opencv的所有内容了.例如按照我的路径,解压完成后Opencv就在 D:/openc

SDL2.0.4+VS2015+win10 环境配置

SDL2.0.4+VS2015+win10 环境配置 第一个是源码 第二个就是配置windows 所需要的东西 将这两个下载下来,分别解压出来,放到你想放的目录,如下图,我这里放到了Program File文件夹中 我们可以看看里面的东西 配置vs2015所需要的东西我主要有个 一:include文件夹 二:lib文件夹 有了想要的东西下面就可以开始配置vs2015了 1.新建一个工程,工程名随便叫 这里就不截图了,配置请看图 这里就是指定include的目录 这里就是指定lib的目录 在依赖库

vs2017配置pthread.h的方法

一.背景(以下为走不通的配置方法!) 笔者最开始配置pthread.h,采用的是vs自动安装的方法,如图所示. 点击完“管理NuGet程序包”之后,弹出一个页面,如下,在“浏览”中输入pthread. 然后十分自然顺畅地点击安装pthread这个库,安装完之后,在代码中#include<pthread.h>,倒也没报错了. 但是会出现 error C2011: “timespec”:“struct”类型重定义 这个错误. 经过百度,在https://blog.csdn.net/u0105366

Win10下配置Java 环境变量

原文 在Win10中配置环境变量的方法跟在Win8和Win7中有些不同,看了看网上好多还是Win7/8里面的配置方法.虽然从原理上基本上没什么问题,但有些细节却会让人很苦恼.特意整理下新的配置方法.我假定你已经正确安装了JDK和JRE. 1. 配置JAVA_HOME 首先打开环境变量的配置界面,新建一个系统环境变量: 变量名:JAVA_HOME 变量值:E:\JDK\JDK1.8 其中变量值为你的JDK安装目录 2. 配置CLASSPATH 与JAVA_HOME的配置方法类似,再新建一个变量名为

如何解决在Win10上配置Office365时报错80090034?

如何解决在Win10上配置Office365时报错80090034? ?Lander Zhang 专注外企按需IT运维服务,IT Helpdesk 实战培训践行者博客:https://blog.51cto.com/lander IT Helpdesk 工程师实战培训课程:https://edu.51cto.com/lecturer/733218.html轻松进外企:IT Helpdesk工程师实战自学之路:https://blog.51cto.com/lander/2413018更新时间:201