`
暴风雪
  • 浏览: 388785 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

VS2013配置pthread

 
阅读更多

转自http://blog.csdn.net/qianchenglenger/article/details/16907821

 

    Pthread是由POSIX提出的一套通用的线程库,在linux平台下,他被广泛的支持,而windows平台下,却并不被支持,而pthreads-w32为我们提供了解决方案,本文我们准备在我们的windows平台下进行pthread-w32的安装,在网络上有类似的文章,但是讲的都是比较老的平台,在windows8下支持并不全面,不过可以作为参考。我们在这里贴出几个网址,供参考使用。

       Windows 7 64bit和Visual Studio 2010下安装及使用Pthread-w32 2.8 

       windows下使用pthread库(转)

        如果你的是XP系统或者win7 32位系统,那么,那两篇文章已经足以你完成pthread-w32的安装了。现在,我们开始讲我们的尝试过程。

一、安装平台

 

        windows8 64位系统,Microsoft Visual Studio 2012

 

二、pthreads-w32 下载地址

 

        我们这里下载最新版本pthreads-w32-2-9-1

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

        下载后解压,可以看到共有三个文件夹

        

        我们用到的主要是“Pre-built.2”这个文件夹下的三个文件夹,分别是动态链接库、头文件、静态链接库

          

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

 

        这里有多种方式,我们这里只提到我们用到的一种,总之目的是让我们建立的工程能够找到对应的头文件、静态库文件,以及运行时程序能够找到动态链接库文件。

这里,我们直接把头文件拷贝到Visual Studio的默认路径的头文件中,即把include文件夹中的三个文件直接拷贝到Visual Studio安装目录下VC->include文件夹下,例如我将include中文件拷贝到的位置是

E:\Program Files\Microsoft Visual Studio 11.0\VC\include

这样,我们就不必每次在项目用到时都配置一遍,特别是在Visual Studio2012 貌似不支持全局的头文件配置时(不确定,如果谁找到了可以告诉我一声),这种方式对于经常会建一些小项目的人来说,相对节省时间。

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

        E:\Program Files\Microsoft Visual Studio 11.0\VC\lib

的下面。

 

四、配置动态链接库

 

       和头文件和静态链接库的配置方式相似,我们这里将dll文件夹的内容放到我们程序能够找到的位置,我们的方案是

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

把dll下的x86文件夹下的五个文件,拷贝到C:\Windows\SysWOW64下(用于32位程序的运行),注意一下,千万不能将这些文件拷贝反位置,否则,程序运行时会提示说找不到对应的dll文件。这些在网上的很多文章中都被忽略掉了,所以我们特别提出。

 

五、运行测试

 

       完成以上配置之后,我们运行一下测试程序,证明我们的配置完成了

 

//main.cpp
#include <stdio.h>
#include <pthread.h>
#include <assert.h>

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

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;
}

 

分享到:
评论

相关推荐

    vs的pthread包

    在本话题中,我们将探讨如何在VS中使用pthread包,以及如何正确配置项目以确保其正常运行。 标题中的"vs的pthread包"指的是在Visual Studio项目中引入pthread线程库的过程。这通常是为了在Windows系统上编写与Unix/...

    pthread静态库,动态库,vs2019,win32/x64 ,debug/release

    然而,对于Windows平台,如VS2019,`pthread`库需要特别的配置来实现跨平台兼容性。本篇文章将深入探讨`pthread`库在Windows上的使用,特别是针对VS2019编译器,以及如何在win32/x64架构下处理debug和release模式。 ...

    pthread 文件,VS:C++的pthread出错缺失文件

    当你在VS中尝试使用`pthread`并遇到“出错缺失文件”问题时,首先检查是否已正确安装和配置了移植版`pthread`库。确保以下步骤: - 下载并解压`pthreads-win32`库。 - 将库文件(`.lib`)添加到你的项目的链接器...

    vs2017无法打开源文件pthread

    你可以通过配置MinGW-w64的编译器并在VS2017中设置外部编译器路径来使用pthread。 2. **PThreadWin32**: 另一个选项是使用PThreadWin32,这是一个将pthread接口移植到Windows的开源库。你可以在项目中包含...

    VS编译时无法打开 源 文件 "pthread.h处理方法

    VS编译时无法打开 源 文件 "pthread.h"。是因为微软VS没有pthread.h. 项目--属性--配置属性--c/c++常规--附加包含目录添加pthread.h所在的文件夹。

    VC环境下pthread.h无效的解决办法

    如果配置正确,你应该能够成功编译并运行包含`pthread.h`的代码。 - 如果使用动态链接库,确保在运行时环境的PATH环境变量中包含了`libpthreadVC2.dll`所在的路径,或者将其复制到你的应用程序目录下。 注意:虽然...

    pthread多线程c++动库下载

    这个“pthread多线程c++动库下载”压缩包包含了在Visual Studio(VS)环境下使用pthread所需的所有组件。 压缩包中的内容分为几个部分: 1. **Pre-built.2**:这个文件夹包含预编译好的库文件,适合不同的操作系统...

    pthread.h的配置包

    标题中的 "pthread.h 的配置包" 提到的,就是这样一个针对 Windows 平台的 Pthreads 实现。 描述中提到,在64位的 Windows 系统上配置 pthreads 库时,应该选择 x86 架构。这可能是因为某些编译器或链接器在处理64...

    CodeBlocks配置pthread环境-附件资源

    CodeBlocks配置pthread环境-附件资源

    VC++6.0安装pthread库过程图解

    4. **配置库路径**:同样在“选项”对话框的“目录”标签下,为“库文件”添加pthread库文件所在的目录。这使得链接器能在链接阶段找到对应的库文件。 5. **设置链接器选项**:在项目属性中,找到“链接器”设置,...

    pthread 在windows下的库,可以配合vs2017使用,有教程和测试程序

    压缩包中的"pthread+vs2017"很可能包含了示例代码和教程,这些资源将帮助你更好地理解如何在Windows环境下使用pthread库。通过学习这些示例和教程,你可以掌握如何创建线程、同步线程、使用互斥锁、条件变量等关键...

    windows下可用的pthread库

    对于Visual Studio,可能需要配置额外的项目设置以支持Posix扩展。编译过程中,可能需要链接特定的库,例如ws2_32.lib(网络支持)和kernel32.lib(系统函数)。 4. **应用示例** 在Windows下使用pthread库编写多...

    windows下使用pthread库

    配置pthread库在Windows下的步骤如下: 1. **下载pthread库**:你可以从pthreads-win32项目的GitHub仓库(http://sourceware.org/pthreads-win32/)获取适用于Windows的pthread库。这是一个开源实现,使得pthread...

    Pthread线程包 Windows移植版

    3. **配置编译环境**:在安装了MinGW或Cygwin的环境中,配置编译器,使其能够识别和处理Pthread相关的头文件和库文件。 4. **编译Pthread**:使用`gcc`或其他编译工具,根据Windows平台的特性进行编译,生成对应的....

    pthread-win32演示程序

    5. **线程属性**:`pthread_attr_t` 结构体允许开发者配置线程的属性,如栈大小、调度策略和优先级等。`pthread_attr_init()` 和 `pthread_attr_set*()` 函数用于初始化和设置属性,而 `pthread_attr_destroy()` ...

    pthreads_pthread_

    2. 配置:在Visual Studio项目设置中,确保链接器指向pthreads-w32的库文件。 3. 编写代码:使用pthreads的API创建、管理线程,同步和通信。 4. 编译和运行:使用Visual Studio或其他编译工具编译代码,确保所有...

    pthread-primer.rar_Pthread Primer pdf_pthread_pthread primer

    3. **线程属性**:Pthread允许设置线程属性,如调度策略、栈大小等,通过`pthread_attr_init()`和`pthread_attr_set*()`系列函数进行配置。 4. **线程安全**:文档可能讲解了如何编写线程安全的代码,避免数据竞争...

Global site tag (gtag.js) - Google Analytics