我希望能够在我正在处理的嵌入式项目中使用talloc,但一直无法确定如何将它整合到我的开发环境中。有问题的环境是供应商提供的使用 ARM GCC 4.4.1 的 Windows IDE,我正在使用它来定位 ARM7 设备。
我已经到了编译器抱怨类型冲突的阶段:
In file included from .\talloc-2.0.8\talloc.c:33:
.\talloc-2.0.8\lib\replace/replace.h:626: error: conflicting types for 'ptrdiff_t'
c:\program files (x86)\cypress\psoc creator\2.2\psoc creator\import\gnu_cs\arm\4.4.1\bin\../lib/gcc/arm-none-eabi/4.4.1/include/stddef.h:149: note: previous declaration of 'ptrdiff_t' was here
.\talloc-2.0.8\lib\replace/replace.h:848: error: conflicting types for 'useconds_t'
c:\program files (x86)\cypress\psoc creator\2.2\psoc creator\import\gnu_cs\arm\4.4.1\bin\../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/include/sys/types.h:253: note: previous declaration of 'useconds_t' was here
.\talloc-2.0.8\talloc.c:123: error: expected specifier-qualifier-list before 'uint8_t'
我注意到 replace.h 试图包含一个名为 config.h 的文件,该文件在talloc 源代码树中不存在——我通过创建一个该名称的空白文件来解决这个问题。是否使用 config.h 来通知talloc 系统已经定义了哪些功能?这只是使用#define
指令来防止 replace.h 尝试替换现有类型的问题吗?
鉴于这是我第一次尝试使用不是我自己在项目中编写的代码,我对如何调和这些冲突感到有些困惑。