为交叉编译器构建newlib时,'gettimeofday'的冲突类型

时间:2012-10-12 14:02:04

标签: c cross-compiling osdev

在尝试构建newlib 1.20.0时...... 我按照本教程http://wiki.osdev.org/OS_Specific_Toolchain#newlib.2Flibc.2Fsys.2Fmyos

但是在尝试构建newlib时出现以下错误:

/../newlib-1.20.0/newlib/libc/sys/myos/'`syscalls.c
../../../../../../newlib-1.20.0/newlib/libc/sys/myos/syscalls.c:29:5: error: conflicting types for 'gettimeofday'
In file included from ../../../../../../newlib-1.20.0/newlib/libc/sys/myos/syscalls.c:7:0:
/usr/src/newlib-1.20.0/newlib/libc/include/sys/time.h:74:5: note: previous declaration of 'gettimeofday' was here
Makefile:280: recipe for target `lib_a-syscalls.o' failed

用于gettimeofday声明的sycalls.c:

int gettimeofday(struct timeval *p, struct timezone *z);

time.h:

int _EXFUN(gettimeofday, (struct timeval *__p, void *__tz));

那么什么是冲突类型?请帮助....任何帮助表示赞赏...

1 个答案:

答案 0 :(得分:0)

在syscalls.c中更改您的函数声明。然后将void *转换为struct timezone。