ESP32 项目编译 多处esp_log.h 错误的解决

在ESP32项目进行编译的时候,有时候会出现多个esp_log.h相关的错误,包括in expansion of macro 'LOG_COLOR' in expansion of macro 'LOG_COLOR_W' in expansion of macro 'ESP_LOGE' in expansion of macro 'ESP_LOG_LEVEL_LOCAL' in expansion of macro 'LOG_FORMAT' in expansion of macro 'LOG_COLOR_E' ``in expansion of macro 'ESP_LOG_LEVEL' in expansion of macro 'LOG_COLOR'等处的note。
在这里插入图片描述在这里插入图片描述
这类问题主要还是看业务代码相关部分,由于参数错误或者参数个数错误导致。
我们仔细查看错误代码,发现:
ESP_LOGE(TAG, "rrpc,gettime ERROR, Time String from UART1:%s:%s",app_time_str);
格式化输出参数多了一个%s,修正以后问题解决。

### ESP32 Arduino 中 LVGL 编译错误解决方案 当遇到 `Arduino fatal error: src/misc/lv_log.h: No such file or directory` 错误时,这通常意味着编译器无法找到指定头文件的位置。此问题可能由多种原因引起。 #### 文件路径配置不正确 如果在报错的文件 `lv_conf_internal.h` 中搜索 `lv_conf.h` 发现 include 引入的相对路径不对[^1],那么可能是由于项目结构或库安装位置不符合预期造成的。建议检查并修正这些路径设置。 #### 库未完全下载或者损坏 有时通过平台管理器安装的库可能存在缺失部分文件的情况。尝试重新安装最新版本的 LVGL 库来解决问题: ```cpp // 打开Arduino IDE, 进入Sketch -> Include Library -> Manage Libraries... // 搜索 "Littlev GL", 卸载现有版本后再安装最新的稳定版 ``` #### 修改库目录结构 对于某些特定版本的 LVGL 和 Arduino 结合使用场景下,官方推荐调整源码树以适应IDE的要求。具体做法是在项目的根目录创建名为 `src` 的子文件夹并将整个 LittlevGL 存储库复制进去。 #### 自定义构建选项 为了更好地控制哪些模块被包含进来以及它们如何链接在一起,在 `lv_conf.h` 或者其他适当的地方启用/禁用特性开关可以减少不必要的依赖关系从而规避潜在冲突。 ```c /* Enable logging */ #define LV_USE_LOG 0 /*Disable log by default*/ #if LV_USE_LOG != 0 #define LV_LOG_TRACE_drv 0 #define LV_LOG_TRACE_disp 0 #endif ``` 上述措施应该能够帮助克服因缺少 `lv_log.h` 而引发的编译失败状况。不过需要注意的是,不同环境下的具体情况可能会有所差异,因此还需要根据实际开发情况进行相应调试。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值