【发布时间】:2020-12-10 01:58:51
【问题描述】:
我在一些 C 文件中使用了以下宏:
DBGL_LOG_INFO(DBGL_UART_LOG_ENABLED, "UART is initialized");
如果定义的 LOG_UART_ENABLED 为真,则宏调用我的日志记录模块。 如果定义为假,日志代码将不会被编译,因此不会影响我在发布构建中的常规程序代码。
但是现在,我遇到了以下问题: 确实包含此宏调用的 C 文件也应在不存在日志模块的另一个项目中使用。所以定义 DBGL_UART_LOG_ENABLED 在这个其他项目中也不存在。
当然,当我在项目中使用此代码编译文件时,会出现以下错误:
'DBGL_UART_LOG_ENABLED' undeclared (first use in this function); did you mean '...'?
如果缺少宏和定义,是否可以告诉编译器忽略此代码?
提前谢谢你。
【问题讨论】:
标签: c compiler-errors preprocessor