首页 > 编程语言 > C/C++ > C2011 “timespec”:“struct”类型重定义
2020
05-02

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某处它附近开始的时候,你是好去进一步阅读:这里写链接内容

最后编辑:
作者:搬运工
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。