错误:int32_t的冲突类型

时间:2015-03-26 07:05:38

标签: c gcc bison flex-lexer lpc

我正在研究lpcxpresso (lpc1768)。我在已编写的代码中包含了.h个文件和两个.c文件(这些文件是使用flexbison创建的。我想使用选项" Newlib(semihost)"在"快速设置"。当我构建我的代码时,它显示了一些错误:

  

" C:\ NXP \ lpcxpresso_6.1.2_177 \ lpcxpresso \工具\ BIN ../ LIB / GCC /臂-NONE-EABI / 4.6.2 /../../../ .. /arm-none-eabi/include/newlib_inc/stdint.h:79:21:   错误:' int32_t'"

的冲突类型      

" C:\ NXP \ lpcxpresso_6.1.2_177 \ lpcxpresso \工具\ BIN ../ LIB / GCC /臂-NONE-EABI / 4.6.2 /../../../ .. /arm-none-eabi/include/newlib_inc/stdint.h:80:23:   错误:" uint32_t'"

的冲突类型

当我切换到库Redlib时,这些错误不会发生,但会出现一些其他问题。我想使用Newlib。

为什么会出现这些错误?我需要做什么?

1 个答案:

答案 0 :(得分:1)

由于在不同的头文件中对int32_t和uint32_t进行了多次定义,因此出现此错误。检查构建日志以查找与此多重定义/声明发生位置相关的任何信息。查看是否可以将系统头文件用于这些类型定义,如果标题中有其他代码,请使用条件宏来禁用typedef部分。希望这会有所帮助。