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
; Core3.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.