首页 > 解决方案 > 如何修复在多个文件中使用时未定义编译器警告 F_CPU?

问题描述

我有一个主要的,但也有一些自己的库文件,我在其中使用 util/delay.h 中的 _delay() 函数。现在,我当然主要定义了 F_CPU 速率。我已经尝试在其他文件中定义它。但是我不想在库文件中(重新)定义,因为它们应该是通用的并且没有硬编码的硬件特定定义。假设的问题是,在c中,每个文件都必须能够编译,而不管其他文件?那么,一般如何解决这个问题呢?谢谢指教...

标签: c

解决方案


您可以F_CPU在一个公共头文件中定义(即 foo.c 和 bar.c 都包含 qux.h,而 qux.h 包含 a #define F_CPU ...),或者通过让您的构建系统传入-DF_CPU=...C 标志。


推荐阅读