Windows下 VS code +MinGW如何添加安装 pthread.h
本人墨大学生小白一名,因为专业课中需要用到 pthread.h 去编写C语言,网上有很多教程,但我按步骤走后,在编译时依然会出现错误,试了很多种方法,最后使用mingw-install-setup.exe添加安装了pthread库解决了问题,简单而且快捷:
没想到会这么简单,其它网上的添加安装方法我也汇总在了下方,大家也可以试试:
方法一
mingw自带的pthread库不能使用,且找不到头文件。
因此使用第三方的库:
pthreads-w32-2-8-0-release.exe
下列步骤需要执行:
1,单击该包后,会解压缩三个文件夹(该版本是3个,其他版本无法保证一定是)
2,找到文件夹 pre-built.2文件夹,里面有lib,include子目录。
3,复制inlcude/* 子目录下所有头文件到 mingw对应的include下,先修改lib目录下libpthreadGC2.a 为libpthread.a,然后复制到mingw对应的lib下
4,测试使用
————————————————
版权声明:本文为CSDN博主「klapset」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lapset/article/details/11918809
方法二
- 下载资源从下面的地址下载静态链接库:libpthreadGC2.a
ftp://sourceware.org/pub/pthreads-win32/dll-latest/lib/x86
从下面的地址下载头文件:pthread.h sched.h semaphore.h
ftp://sourceware.org/pub/pthreads-win32/dll-latest/include
2. 配置
将头文件放置到:/user/local/include/pthread
将库文件放置到:/user/local/lib/pthread
在makefile文件中将头文件目录添加到包含路径,将库目录添加到链接路径。
3. 示例
gcc -o test test.c -I/user/local/include/pthread -L/user/local/lib/pthread -lpthreadGC2
————————————————
版权声明:本文为CSDN博主「wayz11」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/htf15/article/details/16846143
方法三
首先从http://sourceware.org/pthreads-win32/下载pthread 的windows安装包,我下的是pthread-w32-2-9-1-release.zip,其他版本也可以。解压到pthread-w32-2-9-1-release。
该目录会多出三个文件夹:Pre-built.2,pthreads.2,QueueUserAPCEx。这里我们主要使用Pre-built.2,里面包含了编译好的lib和dll。
然后添加加库和头文件。
方法1:在工程中添加
-
在Project ->Pthread_TestProperties -> Configuration Properties-> C/C++ -> General ->AdditionalInclude Directories 中增加头文件路径。
-
在Project ->Pthread_Test Properties -> ConfigurationProperties-> Linker -> General-> Additional Library Directories 中增加库文件路径。我用的是x86库。
-
在Project ->Pthread_Test Properties -> ConfigurationProperties-> Linker -> Input ->Additional Dependencies中增加所依赖的库文件。这里我们使用的IDE是VS2010,所以我们使用pthreadVSE2.lib。
如果不在这里添加pthreadVSE2.lib 则在程序中要声明:
#pragma comment(lib, “pthreadVC2.lib”)
方法2:将头文件和库添加到vc目录下
其中需要的是Pre-built.2文件夹里面的内容
首先将里面的include文件夹和lib文件夹里面的文件拷到VS安装目录下的include和lib文件夹下
最后配置动态链接库
-
将把dll下的x64文件夹下的两个文件,即pthreadGC2.dll与pthreadVC2.dll拷贝到C:\Windows\System32下(用于64位程序的运行)
-
把dll下的x86文件夹下的五个文件,拷贝到C:\Windows\SysWOW64下(用于32位程序的运行),注意一下,千万不能将这些文件拷贝反位置,否则,程序运行时会提示说找不到对应的dll文件