我正在开发一个嵌入式系统,它提供特定类型的接口(interface)。
问题是通过包含来自 c 标准库的某些 header ,我得到一个错误:类型冲突
我使用 gettimeofday
并且我只使用 struct timeval
,但是为了使用这个 sys/time.h
还拖入了 time_t
干扰系统定义的时间。
我无法触及这两段代码,但我需要它们。
有没有办法解决这些问题? (我应该能够使用系统声明的类型和一些在 c 头文件中声明的函数,这些头文件包含系统已经完成的一些声明。)
最佳答案
您可以使用宏重命名 time_t
类型定义之一,而无需修改任何 header :
#define time_t LIBC_time_t
#include <sys/time.h>
#undef time_t
#include <header_which_defines_the_time_t_you_want.h>
这不能保证有效,但在很多时候确实有效。
关于c - 错误 : conflicting types for ‘whatever’ ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9847952/