一、背景(以下为走不通的配置方法!)
笔者最开始配置pthread.h,采用的是vs自动安装的方法,如图所示。
点击完“管理NuGet程序包”之后,弹出一个页面,如下,在“浏览”中输入pthread。
然后十分自然顺畅地点击安装pthread这个库,安装完之后,在代码中#include<pthread.h>,倒也没报错了。
但是会出现 error C2011: “timespec”:“struct”类型重定义 这个错误。
经过百度,在https://blog.csdn.net/u010536615/article/details/70231441博客中发现如下方法。
要在pthread.h中的
#if !defined( PTHREAD_H )
#define PTHREAD_H
下面加上
#define HAVE_STRUCT_TIMESPEC
加上之后这个error倒没出现了,但是出现了另外两个链接的LNK2019报错,无法解析的外部符号。
得,链接库出错,那要不重装pthread吧。
二、走得通的方法
搜索了一下pthread安装的方法,找到了一篇博客给出了资源,另一篇博客给出了配置方法,这里就不重写了,链接如下,同学们跟着配置就好。
资源博客:https://blog.csdn.net/k459905889/article/details/48676159
配置方法博客:https://blog.csdn.net/lujiandong1/article/details/45175153
由于笔者用的是debug x64模式,所以只配了x64的路径和添加了附加依赖项等。
实测可行,大家可以试试。
以上方法配置完之后,还是会出现error C2011: “timespec”:“struct”类型重定义 这个错误。
这次又搜索到第二个方法,见博客:https://blog.csdn.net/qq_23494915/article/details/78732389
实测可行,如下图。
这个操作之后就没有报错了,很顺利地运行了出来。
原文地址:https://www.cnblogs.com/chenjx85/p/10574752.html