Visual Studio (2022)安装配置pthread.h多线程库
各位好,之前尝试用DEVC++编写多线程库问题时遇到报错,然后发现解决不了后转战Visual Studio。顺带分享一下安装方法。
首先是pthread的下载网站:https://www.mirrorservice.org/sites/sourceware.org/pub/pthreads-win32/
选择最新的(最下面)那个版本下载。
解压完成后我们会得到三个文件夹,这里我们只用到第一个(Pre-built.2)。
接着我们打开Visual Studio,新建一个项目,然后再新建项目的解决方案资源管理器中对应的项目那里点击右键->属性。
然后再配置属性->VC++目录->常规中的包含目录和库目录中,分别添加我们刚才解压出来文件(Pre-built.2)中的include和lib目录地址。(包含目录添加include,库目录添加lib)具体操作如下:
库目录与包含目录的操作是一致的,这里不再演示,但要注意lib中含有两个文件夹,分别是X64和X86,这个要看自己电脑实际情况。
然后在链接器->输入->附加依赖项一栏中和刚才一样打开,在上面一栏中填入pthreadVC2.lib,然后确定。
这里我运行程序报了两个错,一是提示找不到pthreadVC2.dll,二是提示timespec”;”struct”类型重定义。我们一个一个解决。
一的问题在pthreadVC2.dll文件的定位,为了方便我们直接把pthreadVC2.dll复制到项目的Debug文件夹中。(pthreadVC2.dll位于pthreads-w32-2-9-1-release\Pre-built.2\dll\x64,这里也要根据自己电脑选择x86还是x64)
Debug位于你创建的项目文件夹中。
第二个问题解决起来很简单,我们先在源程序中添加头文件#include <pthread.h>然后按住Ctrl鼠标左键单击<pthread.h>(这个头文件会变成一个超链接,我们就可以进入到头文件代码段)
然后在pthread.h加入这段代码:
#define HAVE_STRUCT_TIMESPEC
完成就可以成功运行啦。
以上,谢谢阅读,感谢你的时间。