我目前正在使用 ARM GCC 编译器编译我的代码。我的代码有一个 RTOS,有一个 types.h 文件,该文件将 clock_t 类型定义为 unsigned long。由于 ARM GCC 编译器也有 clock_t
的类型定义,因此我遇到了相同类型的冲突问题。
我已经尝试包含来自 GCC 的 .h 文件并按照某些论坛中的建议取消定义,但它也不起作用。我也没有看到 GCC 的 time.h 文件包含在我的任何项目源文件中。
最佳答案
一个简单的解决方法是
typedef unsigned long int custom_clock_t;
#define clock_t custom_clock_t
这样,编译器将在用 custom_clock_t
编译文件之前替换所有出现的 clock_t
并且冲突将消失,同时保持熟悉的 clock_t
语法完整。
关于typedef (timer_t) 的冲突类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42039499/