PlatformIO M5stack-core-esp32: collect2.exe: error: ld returned 1 exit status



  • Hello, everyone.
    I used the search, but couldn't find a suitable answer. I have an M5Stack and if I want to compile the following program, I get an error with PlatformIO. With Arduino it works. What could be the reason?

    Windows 10; Home: 2.0.0; Core 3.6.5

    Sample programm

    #include <M5Stack.h>
    
    void setup() {
      M5.begin();
      M5.lcd.fillScreen(TFT_WHITE);
      M5.lcd.setTextColor(TFT_BLACK);
      M5.lcd.setTextDatum(CC_DATUM);
      M5.lcd.drawString("Testing 123...", 160, 120);
    }
    
    void loop() {
    }
    

    platformio.ini:

    [env:m5stack-core-esp32]
    
    platform = espressif32
    
    board = m5stack-core-esp32
    
    framework = arduino
    
    upload_speed = 921600
    
    targets = upload
    
    ; lib_extra_dirs = ~/Documents/Arduino/libraries/
    
    lib_deps = M5Stack
    

    Terminal output:

    > Executing task in folder M5DisplayTest: C:\Users\Matthias\.platformio\penv\Scripts\platformio.exe run <
    Processing m5stack-core-esp32 (framework: arduino; platform: espressif32; board: m5stack-core-esp32)
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Verbose mode can be enabled via `-v, --verbose` option
    CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/m5stack-core-esp32.html
    PLATFORM: Espressif 32 > M5Stack Core ESP32
    HARDWARE: ESP32 240MHz 320KB RAM (4MB Flash)
    DEBUG: CURRENT(esp-prog) EXTERNAL(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)
    Converting main.ino
    Library Dependency Finder -> http://bit.ly/configure-pio-ldf
    LDF MODES: FINDER(chain) COMPATIBILITY(soft)
    Collected 41 compatible libraries
    Scanning dependencies...
    Dependency Graph
    |-- <M5Stack> 0.2.5
    |   |-- <Wire> 1.0.1
    |   |-- <SPI> 1.0
    |   |-- <FS> 1.0
    |   |-- <SPIFFS> 1.0
    |   |   |-- <FS> 1.0
    |   |-- <TFT_eSPI> 1.4.8
    |   |   |-- <SPI> 1.0
    |   |   |-- <FS> 1.0
    |   |   |-- <SPIFFS> 1.0
    |   |   |   |-- <FS> 1.0
    |   |-- <SD(esp32)> 1.0.5
    |   |   |-- <SPI> 1.0
    |   |   |-- <FS> 1.0
    Compiling .pioenvs\m5stack-core-esp32\src\main.ino.cpp.o
    Compiling .pioenvs\m5stack-core-esp32\lib13c\M5Stack_ID1851\utility\MPU9250.cpp.o
    Compiling .pioenvs\m5stack-core-esp32\lib13c\M5Stack_ID1851\utility\Speaker.cpp.o
    Compiling .pioenvs\m5stack-core-esp32\lib13c\M5Stack_ID1851\utility\Sprite.cpp.o
    Compiling .pioenvs\m5stack-core-esp32\lib13c\M5Stack_ID1851\utility\qrcode.c.o
    Compiling .pioenvs\m5stack-core-esp32\lib13c\M5Stack_ID1851\utility\quaternionFilters.cpp.o
    .piolibdeps\M5Stack_ID1851\src\utility\quaternionFilters.cpp:38:14: warning: 'zeta' defined but not used [-Wunused-variable]
    static float zeta = sqrt(3.0f / 4.0f) * GyroMeasDrift;
    ^
    .piolibdeps\M5Stack_ID1851\src\utility\Sprite.cpp: In member function 'virtual void TFT_eSprite::drawChar(int32_t, int32_t, unsigned char, uint32_t, uint32_t, uint8_t)':
    .piolibdeps\M5Stack_ID1851\src\utility\Sprite.cpp:1218:16: warning: unused variable 'xa' [-Wunused-variable]
    xa = pgm_read_byte(&glyph->xAdvance);
    ^
    Linking .pioenvs\m5stack-core-esp32\firmware.elf
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::width()':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI5widthEv+0x0): multiple definition of `TFT_eSPI::width()'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI5widthEv+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::height()':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI6heightEv+0x0): multiple definition of `TFT_eSPI::height()'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI6heightEv+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::write(unsigned char)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI5writeEh+0x0): multiple definition of `TFT_eSPI::write(unsigned char)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI5writeEh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::drawLine(int, int, int, int, unsigned int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI8drawLineEiiiij+0x0): multiple definition of `TFT_eSPI::drawLine(int, int, int, int, unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI8drawLineEiiiij+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::TFT_eSPI(short, short)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPIC2Ess+0x0): multiple definition of `TFT_eSPI::TFT_eSPI(short, short)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPIC2Ess+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::TFT_eSPI(short, short)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPIC2Ess+0x0): multiple definition of `TFT_eSPI::TFT_eSPI(short, short)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPIC2Ess+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::spiwrite(unsigned char)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI8spiwriteEh+0x0): multiple definition of `TFT_eSPI::spiwrite(unsigned char)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI8spiwriteEh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::writecommand(unsigned char)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI12writecommandEh+0x0): multiple definition of `TFT_eSPI::writecommand(unsigned char)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI12writecommandEh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::writedata(unsigned char)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI9writedataEh+0x0): multiple definition of `TFT_eSPI::writedata(unsigned char)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI9writedataEh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::setRotation(unsigned char)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI11setRotationEh+0x0): multiple definition of `TFT_eSPI::setRotation(unsigned char)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI11setRotationEh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::commandList(unsigned char const*)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI11commandListEPKh+0x0): multiple definition of `TFT_eSPI::commandList(unsigned char const*)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI11commandListEPKh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::readcommand8(unsigned char, unsigned char)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI12readcommand8Ehh+0x0): multiple definition of `TFT_eSPI::readcommand8(unsigned char, unsigned char)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI12readcommand8Ehh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::readcommand16(unsigned char, unsigned char)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI13readcommand16Ehh+0x0): multiple definition of `TFT_eSPI::readcommand16(unsigned char, unsigned char)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI13readcommand16Ehh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::readcommand32(unsigned char, unsigned char)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI13readcommand32Ehh+0x0): multiple definition of `TFT_eSPI::readcommand32(unsigned char, unsigned char)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI13readcommand32Ehh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `readByte()':
    In_eSPI.cpp:(.text._Z8readBytev+0x0): multiple definition of `readByte()'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._Z8readBytev+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `busDir(unsigned int, unsigned char)':
    In_eSPI.cpp:(.text._Z6busDirjh+0x0): multiple definition of `busDir(unsigned int, unsigned char)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._Z6busDirjh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::setSwapBytes(bool)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI12setSwapBytesEb+0x0): multiple definition of `TFT_eSPI::setSwapBytes(bool)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI12setSwapBytesEb+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::getSwapBytes()':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI12getSwapBytesEv+0x0): multiple definition of `TFT_eSPI::getSwapBytes()'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI12getSwapBytesEv+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::drawCircle(int, int, int, unsigned int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI10drawCircleEiiij+0x0): multiple definition of `TFT_eSPI::drawCircle(int, int, int, unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI10drawCircleEiiij+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::drawCircleHelper(int, int, int, unsigned char, unsigned int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI16drawCircleHelperEiiihj+0x0): multiple definition of `TFT_eSPI::drawCircleHelper(int, int, int, unsigned char, unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI16drawCircleHelperEiiihj+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::fillCircle(int, int, int, unsigned int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI10fillCircleEiiij+0x0): multiple definition of `TFT_eSPI::fillCircle(int, int, int, unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI10fillCircleEiiij+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::fillCircleHelper(int, int, int, unsigned char, int, unsigned int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI16fillCircleHelperEiiihij+0x0): multiple definition of `TFT_eSPI::fillCircleHelper(int, int, int, unsigned char, int, unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI16fillCircleHelperEiiihij+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::fillScreen(unsigned int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI10fillScreenEj+0x0): multiple definition of `TFT_eSPI::fillScreen(unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI10fillScreenEj+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::drawRect(int, int, int, int, unsigned int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI8drawRectEiiiij+0x0): multiple definition of `TFT_eSPI::drawRect(int, int, int, int, unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI8drawRectEiiiij+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::drawRoundRect(int, int, int, int, int, unsigned int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI13drawRoundRectEiiiiij+0x0): multiple definition of `TFT_eSPI::drawRoundRect(int, int, int, int, int, unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI13drawRoundRectEiiiiij+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::fillRoundRect(int, int, int, int, int, unsigned int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI13fillRoundRectEiiiiij+0x0): multiple definition of `TFT_eSPI::fillRoundRect(int, int, int, int, int, unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI13fillRoundRectEiiiiij+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::drawTriangle(int, int, int, int, int, int, unsigned int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI12drawTriangleEiiiiiij+0x0): multiple definition of `TFT_eSPI::drawTriangle(int, int, int, int, int, int, unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI12drawTriangleEiiiiiij+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::fillTriangle(int, int, int, int, int, int, unsigned int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI12fillTriangleEiiiiiij+0x0): multiple definition of `TFT_eSPI::fillTriangle(int, int, int, int, int, int, unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI12fillTriangleEiiiiiij+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::drawBitmap(short, short, unsigned char const*, short, short, unsigned
    short)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI10drawBitmapEssPKhsst+0x0): multiple definition of `TFT_eSPI::drawBitmap(short, short, unsigned char const*, short, short, unsigned short)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI10drawBitmapEssPKhsst+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::drawXBitmap(short, short, unsigned char const*, short, short, unsigned short)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI11drawXBitmapEssPKhsst+0x0): multiple definition of `TFT_eSPI::drawXBitmap(short, short, unsigned char const*, short, short, unsigned short)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI11drawXBitmapEssPKhsst+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::drawXBitmap(short, short, unsigned char const*, short, short, unsigned short, unsigned short)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI11drawXBitmapEssPKhsstt+0x0): multiple definition of `TFT_eSPI::drawXBitmap(short, short, unsigned char const*, short, short, unsigned short, unsigned short)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI11drawXBitmapEssPKhsstt+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::setCursor(short, short)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI9setCursorEss+0x0): multiple definition of `TFT_eSPI::setCursor(short, short)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI9setCursorEss+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::setCursor(short, short, unsigned char)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI9setCursorEssh+0x0): multiple definition of `TFT_eSPI::setCursor(short, short, unsigned char)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI9setCursorEssh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::getCursorX()':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI10getCursorXEv+0x0): multiple definition of `TFT_eSPI::getCursorX()'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI10getCursorXEv+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::getCursorY()':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI10getCursorYEv+0x0): multiple definition of `TFT_eSPI::getCursorY()'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI10getCursorYEv+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::setTextSize(unsigned char)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI11setTextSizeEh+0x0): multiple definition of `TFT_eSPI::setTextSize(unsigned char)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI11setTextSizeEh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::setTextColor(unsigned short)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI12setTextColorEt+0x0): multiple definition of `TFT_eSPI::setTextColor(unsigned short)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI12setTextColorEt+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::setTextColor(unsigned short, unsigned short)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI12setTextColorEtt+0x0): multiple definition of `TFT_eSPI::setTextColor(unsigned short, unsigned short)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI12setTextColorEtt+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::setBitmapColor(unsigned short, unsigned short)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI14setBitmapColorEtt+0x0): multiple definition of `TFT_eSPI::setBitmapColor(unsigned short, unsigned short)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI14setBitmapColorEtt+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::setTextWrap(bool, bool)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI11setTextWrapEbb+0x0): multiple definition of `TFT_eSPI::setTextWrap(bool, bool)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI11setTextWrapEbb+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::setTextDatum(unsigned char)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI12setTextDatumEh+0x0): multiple definition of `TFT_eSPI::setTextDatum(unsigned char)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI12setTextDatumEh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::setTextPadding(unsigned short)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI14setTextPaddingEt+0x0): multiple definition of `TFT_eSPI::setTextPadding(unsigned short)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI14setTextPaddingEt+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::getRotation()':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI11getRotationEv+0x0): multiple definition of `TFT_eSPI::getRotation()'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI11getRotationEv+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::getTextDatum()':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI12getTextDatumEv+0x0): multiple definition of `TFT_eSPI::getTextDatum()'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI12getTextDatumEv+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::textWidth(String const&)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI9textWidthERK6String+0x0): multiple definition of `TFT_eSPI::textWidth(String const&)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI9textWidthERK6String+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::textWidth(char const*)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI9textWidthEPKc+0x0): multiple definition of `TFT_eSPI::textWidth(char const*)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI9textWidthEPKc+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::fontsLoaded()':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI11fontsLoadedEv+0x0): multiple definition of `TFT_eSPI::fontsLoaded()'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI11fontsLoadedEv+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::fontHeight(short)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI10fontHeightEs+0x0): multiple definition of `TFT_eSPI::fontHeight(short)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI10fontHeightEs+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::setAddrWindow(int, int, int, int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI13setAddrWindowEiiii+0x0): multiple definition of `TFT_eSPI::setAddrWindow(int, int, int, int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI13setAddrWindowEiiii+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::readAddrWindow(int, int, int, int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI14readAddrWindowEiiii+0x0): multiple definition of `TFT_eSPI::readAddrWindow(int, int, int, int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI14readAddrWindowEiiii+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::readRectRGB(int, int, int, int, unsigned char*)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI11readRectRGBEiiiiPh+0x0): multiple definition of `TFT_eSPI::readRectRGB(int, int, int, int, unsigned char*)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI11readRectRGBEiiiiPh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::pushColor(unsigned short)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI9pushColorEt+0x0): multiple definition of `TFT_eSPI::pushColor(unsigned short)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI9pushColorEt+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::pushColors(unsigned char*, unsigned int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI10pushColorsEPhj+0x0): multiple definition of `TFT_eSPI::pushColors(unsigned char*, unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI10pushColorsEPhj+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::pushColors(unsigned short*, unsigned int, bool)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI10pushColorsEPtjb+0x0): multiple definition of `TFT_eSPI::pushColors(unsigned short*, unsigned int, bool)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI10pushColorsEPtjb+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::color565(unsigned char, unsigned char, unsigned char)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI8color565Ehhh+0x0): multiple definition of `TFT_eSPI::color565(unsigned char, unsigned char, unsigned char)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI8color565Ehhh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::readPixel(int, int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI9readPixelEii+0x0): multiple definition of `TFT_eSPI::readPixel(int, int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI9readPixelEii+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::color16to8(unsigned short)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI10color16to8Et+0x0): multiple definition of `TFT_eSPI::color16to8(unsigned short)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI10color16to8Et+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::color8to16(unsigned char)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI10color8to16Eh+0x0): multiple definition of `TFT_eSPI::color8to16(unsigned char)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI10color8to16Eh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::invertDisplay(bool)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI13invertDisplayEb+0x0): multiple definition of `TFT_eSPI::invertDisplay(bool)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI13invertDisplayEb+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::drawString(String const&, int, int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI10drawStringERK6Stringii+0x0): multiple definition of `TFT_eSPI::drawString(String const&, int, int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI10drawStringERK6Stringii+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::drawString(char const*, int, int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI10drawStringEPKcii+0x0): multiple definition of `TFT_eSPI::drawString(char const*, int, int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI10drawStringEPKcii+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::drawNumber(long, int, int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI10drawNumberElii+0x0): multiple definition of `TFT_eSPI::drawNumber(long, int, int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI10drawNumberElii+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::setFreeFont(GFXfont const*)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI11setFreeFontEPK7GFXfont+0x0): multiple definition of `TFT_eSPI::setFreeFont(GFXfont const*)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI11setFreeFontEPK7GFXfont+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::setTextFont(unsigned char)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI11setTextFontEh+0x0): multiple definition of `TFT_eSPI::setTextFont(unsigned char)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI11setTextFontEh+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `writeBlock(unsigned short, unsigned int)':
    In_eSPI.cpp:(.text._Z10writeBlocktj+0x0): multiple definition of `writeBlock(unsigned short, unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._Z10writeBlocktj+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::drawFastHLine(int, int, int, unsigned int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI13drawFastHLineEiiij+0x0): multiple definition of `TFT_eSPI::drawFastHLine(int, int, int, unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI13drawFastHLineEiiij+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::fillRect(int, int, int, int, unsigned int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI8fillRectEiiiij+0x0): multiple definition of `TFT_eSPI::fillRect(int, int, int, int, unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI8fillRectEiiiij+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::drawFastVLine(int, int, int, unsigned int)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI13drawFastVLineEiiij+0x0): multiple definition of `TFT_eSPI::drawFastVLine(int, int, int, unsigned int)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI13drawFastVLineEiiij+0x0): first defined here
    .pioenvs\m5stack-core-esp32\lib13c\libM5Stack_ID1851.a(In_eSPI.cpp.o): In function `TFT_eSPI::getSetup(setup_t&)':
    In_eSPI.cpp:(.text._ZN8TFT_eSPI8getSetupER7setup_t+0x0): multiple definition of `TFT_eSPI::getSetup(setup_t&)'
    .pioenvs\m5stack-core-esp32\lib385\libTFT_eSPI_ID1559.a(TFT_eSPI.cpp.o):TFT_eSPI.cpp:(.text._ZN8TFT_eSPI8getSetupER7setup_t+0x0): first defined here
    collect2.exe: error: ld returned 1 exit status
    *** [.pioenvs\m5stack-core-esp32\firmware.elf] Error 1
    =================================================================== [ERROR] Took 16.19 seconds ===================================================================
    The terminal process terminated with exit code: 1
    
    Terminal will be reused by tasks, press any key to close it.

Log in to reply
 

Looks like your connection to M5Stack Community was lost, please wait while we try to reconnect.