ESP32 BLE Arduino编译报错:'ringbuf_type_t'未声明
ESP32 BLE_notify示例编译错误:'ringbuf_type_t'未声明
已安装Arduino IDE及ESP32 BLE Arduino库(版本1.0.1),打开「文件>示例>ESP32 BLE Arduino>BLE_notify」示例代码,选择ESP32 Dev Module开发板编译时触发错误,错误信息如下:
In file included from C:\Users\91790\Documents\Arduino\libraries\ESP32_BLE_Arduino\src/BLEAdvertising.h:15, from C:\Users\91790\Documents\Arduino\libraries\ESP32_BLE_Arduino\src/BLEServer.h:19, from C:\Users\91790\Documents\Arduino\libraries\ESP32_BLE_Arduino\src/BLEDevice.h:18, from C:\Users\91790\AppData\Local\Temp\.arduinoIDE-unsaved2024226-8956-kx46nz.zeoqg\BLE_notify\BLE_notify.ino:22: C:\Users\91790\Documents\Arduino\libraries\ESP32_BLE_Arduino\src/FreeRTOS.h:61:28: error: 'ringbuf_type_t' has not been declared Ringbuffer(size_t length, ringbuf_type_t type = RINGBUF_TYPE_NOSPLIT); ^~~~~~~~~~~~~~ Using library ESP32 BLE Arduino at version 1.0.1 in folder: C:\Users\91790\Documents\Arduino\libraries\ESP32_BLE_Arduino exit status 1 Compilation error: exit status 1
解决步骤
- 更新ESP32核心库:该错误源于ESP32 BLE Arduino库与ESP32核心库版本不兼容。打开Arduino IDE,进入「文件>首选项」确认ESP32开发板管理器URL已添加,再通过「工具>开发板>开发板管理器」搜索「ESP32」,将其更新至最新稳定版。
- 替换或更新BLE库:卸载当前1.0.1版本的ESP32 BLE Arduino库,安装该库的最新版本;或直接使用ESP32核心库自带的BLE功能,无需额外安装第三方BLE库。
- 清理冗余库:检查Arduino库文件夹,删除重复的BLE相关库,避免版本冲突后重新编译。
内容的提问来源于stack exchange,提问作者Aman Singh
相关产品推荐
相关产品推荐

