Esp32-s3 compilation error, with a certain #include order
Closed this issue · 1 comments
Platformio,
[env:esp32-s3-devkitc-1] platform = espressif32 board = esp32-s3-devkitc-1 framework = arduino monitor_speed = 115200 build_flags = -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=1
`Processing esp32-s3-devkitc-1 (platform: espressif32; board: esp32-s3-devkitc-1; framework: arduino)
Verbose mode can be enabled via -v, --verbose
option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32-s3-devkitc-1.html
PLATFORM: Espressif 32 (6.1.0) > Espressif ESP32-S3-DevKitC-1-N8 (8 MB QD, No PSRAM)
HARDWARE: ESP32S3 240MHz, 320KB RAM, 8MB Flash
DEBUG: Current (esp-builtin) On-board (esp-builtin) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
- framework-arduinoespressif32 @ 3.20007.0 (2.0.7)
- tool-esptoolpy @ 1.40500.0 (4.5.0)
- toolchain-riscv32-esp @ 8.4.0+2021r2-patch5
- toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 39 compatible libraries
Scanning dependencies...
Dependency Graph
|-- ESPAsyncWebServer-esphome @ 3.0.0
|-- MsgPack @ 0.3.19
|-- SPI @ 2.0.0
|-- TFT_eSPI @ 2.5.31
Building in release mode
Compiling .pio/build/esp32-s3-devkitc-1/src/main.cpp.o
In file included from src/main.cpp:3:
.pio/libdeps/esp32-s3-devkitc-1/TFT_eSPI/TFT_eSPI.h:975:8: warning: #warning >>>>------>> TOUCH_CS pin not defined, TFT_eSPI touch functions will not be available! [-Wcpp]
#warning >>>>------>> TOUCH_CS pin not defined, TFT_eSPI touch functions will not be available!
^~~~~~~
In file included from .pio/libdeps/esp32-s3-devkitc-1/MsgPack/MsgPack/util/DebugLog/DebugLog.h:17,
from .pio/libdeps/esp32-s3-devkitc-1/MsgPack/MsgPack.h:5,
from src/main.cpp:5:
.pio/libdeps/esp32-s3-devkitc-1/MsgPack/MsgPack/util/DebugLog/DebugLog/Manager.h: In member function 'void arx::debug::Manager::attach(FsType&, const String&, const FileMode&, bool)':
.pio/libdeps/esp32-s3-devkitc-1/MsgPack/MsgPack/util/DebugLog/DebugLog/Manager.h:76:47: error: 'File' was not declared in this scope
logger = new FsFileLogger<FsType, File>(s, path, mode);
^~~~
.pio/libdeps/esp32-s3-devkitc-1/MsgPack/MsgPack/util/DebugLog/DebugLog/Manager.h:76:47: note: suggested alternative:
In file included from .pio/libdeps/esp32-s3-devkitc-1/TFT_eSPI/Processors/TFT_eSPI_ESP32_S3.h:152,
from .pio/libdeps/esp32-s3-devkitc-1/TFT_eSPI/TFT_eSPI.h:96,
from src/main.cpp:3:
/home/andriy/.platformio/packages/framework-arduinoespressif32/libraries/FS/src/FS.h:47:7: note: 'fs::File'
class File : public Stream
^~~~
In file included from .pio/libdeps/esp32-s3-devkitc-1/MsgPack/MsgPack/util/DebugLog/DebugLog.h:17,
from .pio/libdeps/esp32-s3-devkitc-1/MsgPack/MsgPack.h:5,
from src/main.cpp:5:
.pio/libdeps/esp32-s3-devkitc-1/MsgPack/MsgPack/util/DebugLog/DebugLog/Manager.h:76:51: error: template argument 2 is invalid
logger = new FsFileLogger<FsType, File>(s, path, mode);
^
*** [.pio/build/esp32-s3-devkitc-1/src/main.cpp.o] Error 1`
`#include "Arduino.h"
#include <SPI.h>
#include <TFT_eSPI.h>
#include <ESPAsyncWebServer.h>
#include <MsgPack.h>
void setup() {
}
void loop() {
}`
Thanks for reporting. This is not a problem of MsgPack but DebugLog.
Required:
- Introduce
DEBUGLOG_ENABLE_FILE_LOGGER
and switch if enable file logging or not using itLines 71 to 79 in 9d1a688
- Update examples and README to show how to use it
- Update related libraries