我正在研究lpcxpresso (lpc1768)
。我在已编写的代码中包含了.h
个文件和两个.c
文件(这些文件是使用flex
和bison
创建的。我想使用选项" 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。
为什么会出现这些错误?我需要做什么?
答案 0 :(得分:1)
由于在不同的头文件中对int32_t和uint32_t进行了多次定义,因此出现此错误。检查构建日志以查找与此多重定义/声明发生位置相关的任何信息。查看是否可以将系统头文件用于这些类型定义,如果标题中有其他代码,请使用条件宏来禁用typedef部分。希望这会有所帮助。