C2011 “timespec”:“struct”类型重定义

如题,pthread.h中报错:C2011 “timespec”:“struct”类型重定义
解决方法:
#if !defined( PTHREAD_H )
#define PTHREAD_H
下面加上
#define HAVE_STRUCT_TIMESPEC
原文地址:http://blog.csdn.net/shujun19941226/article/details/51526506
 

在C++多线程代码的时候的错误,google之,然后找到了解决办法。
原始答案如下。
Timespec :struct type Error c2011
threads的-win32的(我假设你正在使用),可在内部包括time.h中(time.h中通常也被其他的库/头文件包含) -和time.h中已经声明了的timespec(也,它兼容的方式这样做与pthreads的) -但与pthreads-win32的的pthreads.h中没有有效的包括此情况下。pthreads的尝试,因为它需要在内部声明,但因为它可能就不需要整个time.h中,它会尝试声明只的timespec如果可能的话。不过,你可以简单地添加

#define HAVE_STRUCT_TIMESPEC
这将告诉pthreads的,Win32头,你已经有一个适当的timespec,并会让你的代码编译正常。

另外,如果你使用pthreads的广泛应用,你可能要编辑的头文件本身-仅仅是增加的#define HAVE_STRUCT_TIMESPEC某处它附近开始的时候,你是好去进一步阅读:这里写链接内容

posted on 2017-11-05 00:32  &大飞  阅读(1527)  评论(0编辑  收藏  举报

导航