Hi I am new to this Q&A board
Sorry for any errors or typos
I am testing the related program of ESP official BLE
But found that Web Editor will choose different libraries when compiling
During compilation, I get the following error even during compilation
Example of the ESP32 BLE library.
==> # 'ringbuf_type_t' has not been declared
The example was successfully compiled using the offline editor.
I will put the complete code in the reply
I/home/builder/.arduino15/packages/esp32/hardware/esp32/2.0.5/tools/sdk/esp32/include/fb_gfx/include -I/home/builder/.arduino15/packages/esp32/hardware/esp32/2.0.5/tools/sdk/esp32/qio_qspi/include -mlongcalls -Wno-frame-address -ffunction-sections -fdata-sections -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -ggdb -Os -freorder-blocks -Wwrite-strings -fstack-protector -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -std=gnu++11 -fexceptions -fno-rtti -MMD -c -w -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"ESP32_DEV\"" "-DARDUINO_VARIANT=\"esp32\"" -DARDUINO_PARTITION_default -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @/tmp/arduino-build-D2FCFD5627B783254898BB2A2DF2E325/build_opt.h -I/home/builder/.arduino15/packages/esp32/hardware/esp32/2.0.5/cores/esp32 -I/home/builder/.arduino15/packages/esp32/hardware/esp32/2.0.5/variants/esp32 -I/home/builder/opt/libraries/latest/arduinoble_1_3_3/src -I/home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src /tmp/arduino-build-D2FCFD5627B783254898BB2A2DF2E325/sketch/BLE_server.ino.cpp -o /tmp/arduino-build-D2FCFD5627B783254898BB2A2DF2E325/sketch/BLE_server.ino.cpp.o
Multiple libraries were found for "BLEUtils.h"
Used: /home/builder/opt/libraries/esp32_ble_arduino_1_0_1
Not used: /home/builder/.arduino15/packages/esp32/hardware/esp32/2.0.5/libraries/BLE
Multiple libraries were found for "BLEDevice.h"
Used: /home/builder/opt/libraries/arduinoble_1_3_3
Not used: /home/builder/.arduino15/packages/esp32/hardware/esp32/2.0.5/libraries/BLE
Not used: /home/builder/opt/libraries/stm32duinoble_1_2_3
Not used: /home/builder/opt/libraries/bleperipheral_0_4_0
Not used: /home/builder/opt/libraries/seeed_arduino_rpcble_1_0_0
Not used: /home/builder/opt/libraries/esp32_ble_arduino_1_0_1
Using library arduinoble_1_3_3 at version 1.3.3 in folder: /home/builder/opt/libraries/arduinoble_1_3_3
Using library esp32_ble_arduino_1_0_1 at version 1.0.1 in folder: /home/builder/opt/libraries/esp32_ble_arduino_1_0_1
In file included from /home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLERemoteDescriptor.h:18,
from /home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLERemoteCharacteristic.h:18,
from /home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLERemoteService.h:16,
from /home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLEClient.h:19,
from /home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLEUtils.h:16,
from /tmp/690784446/BLE_server/BLE_server.ino:8:
/home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/FreeRTOS.h:61:28: error: 'ringbuf_type_t' has not been declared
Ringbuffer(size_t length, ringbuf_type_t type = RINGBUF_TYPE_NOSPLIT);
^~~~~~~~~~~~~~
In file included from /home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLECharacteristic.h:17,
from /home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLEService.h:15,
from /home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLEClient.h:20,
from /home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLEUtils.h:16,
from /tmp/690784446/BLE_server/BLE_server.ino:8:
/home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLEDescriptor.h:25:7: error: redefinition of 'class BLEDescriptor'
class BLEDescriptor {
^~~~~~~~~~~~~
In file included from /home/builder/opt/libraries/latest/arduinoble_1_3_3/src/BLECharacteristic.h:25,
from /home/builder/opt/libraries/latest/arduinoble_1_3_3/src/BLEService.h:23,
from /home/builder/opt/libraries/latest/arduinoble_1_3_3/src/BLEDevice.h:25,
from /tmp/690784446/BLE_server/BLE_server.ino:7:
/home/builder/opt/libraries/latest/arduinoble_1_3_3/src/BLEDescriptor.h:28:7: note: previous definition of 'class BLEDescriptor'
class BLEDescriptor {
^~~~~~~~~~~~~
In file included from /home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLEService.h:15,
from /home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLEClient.h:20,
from /home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLEUtils.h:16,
from /tmp/690784446/BLE_server/BLE_server.ino:8:
/home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLECharacteristic.h:53:7: error: redefinition of 'class BLECharacteristic'
class BLECharacteristic {
^~~~~~~~~~~~~~~~~
In file included from /home/builder/opt/libraries/latest/arduinoble_1_3_3/src/BLEService.h:23,
from /home/builder/opt/libraries/latest/arduinoble_1_3_3/src/BLEDevice.h:25,
from /tmp/690784446/BLE_server/BLE_server.ino:7:
/home/builder/opt/libraries/latest/arduinoble_1_3_3/src/BLECharacteristic.h:45:7: note: previous definition of 'class BLECharacteristic'
class BLECharacteristic {
^~~~~~~~~~~~~~~~~
In file included from /home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLEClient.h:20,
from /home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLEUtils.h:16,
from /tmp/690784446/BLE_server/BLE_server.ino:8:
/home/builder/opt/libraries/latest/esp32_ble_arduino_1_0_1/src/BLEService.h:49:7: error: redefinition of 'class BLEService'
class BLEService {
^~~~~~~~~~
In file included from /home/builder/opt/libraries/latest/arduinoble_1_3_3/src/BLEDevice.h:25,
from /tmp/690784446/BLE_server/BLE_server.ino:7:
/home/builder/opt/libraries/latest/arduinoble_1_3_3/src/BLEService.h:28:7: note: previous definition of 'class BLEService'
class BLEService {
^~~~~~~~~~
/tmp/690784446/BLE_server/BLE_server.ino: In function 'void setup()':
/tmp/690784446/BLE_server/BLE_server.ino:21:14: error: 'init' is not a member of 'BLEDevice'
BLEDevice::init("Long name works now");
^~~~
/tmp/690784446/BLE_server/BLE_server.ino:22:35: error: 'createServer' is not a member of 'BLEDevice'
BLEServer *pServer = BLEDevice::createServer();
^~~~~~~~~~~~
/tmp/690784446/BLE_server/BLE_server.ino:24:50: error: 'class BLEService' has no member named 'createCharacteristic'; did you mean 'addCharacteristic'?
BLECharacteristic *pCharacteristic = pService->createCharacteristic(
^~~~~~~~~~~~~~~~~~~~
addCharacteristic
/tmp/690784446/BLE_server/BLE_server.ino:26:61: error: 'PROPERTY_READ' is not a member of 'BLECharacteristic'
BLECharacteristic::PROPERTY_READ |
^~~~~~~~~~~~~
/tmp/690784446/BLE_server/BLE_server.ino:27:61: error: 'PROPERTY_WRITE' is not a member of 'BLECharacteristic'
BLECharacteristic::PROPERTY_WRITE
^~~~~~~~~~~~~~
/tmp/690784446/BLE_server/BLE_server.ino:31:13: error: 'class BLEService' has no member named 'start'
pService->start();
^~~~~
/tmp/690784446/BLE_server/BLE_server.ino:33:45: error: 'getAdvertising' is not a member of 'BLEDevice'
BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
^~~~~~~~~~~~~~
/tmp/690784446/BLE_server/BLE_server.ino:38:14: error: 'startAdvertising' is not a member of 'BLEDevice'
BLEDevice::startAdvertising();
^~~~~~~~~~~~~~~~
Error during build: exit status 1
I think the problem is here
Web Editor used the "esp32_ble_arduino_1_0_1" library ,not "hardware/esp32/2.0.5/libraries/BLE "library
Is there a way for users to automatically/manually adjust the library used?
Thank you and have a good day.
BTW, I'm a cram school teacher
When using the development version of the ESP32, I will encounter the problem that the computer specifications are not good enough to cause the speed of offline compilation to be too slow
This problem should start when Arduino IDE recompiles the unchanged library every time it is recompiled. At present, my solution is not suitable for a faster computer, which is to replace it with Web Editor.
But does Web Editor have the function of switching the Board version library?
it would be great if i could