'File' is already declared in this scope

Hallo zusammen,

ich möchte ein Adafruit 2,8" Touch TFT Display an einem ESP32 DEV Kit-C verwenden sowie
einen Teil des EEPROM Speichers des ESP32.

Ich kann problemlos das Display ansteuern und die Bilder per Adafruit_ImageReader von der SD-Card des
Displays laden.

Weiterhin kann ich auch super per SPIFFS.h & FS.h Daten auf dem EEPROM des ESP Speichern.

WENN.... ich jedes der beiden Dinge (TFT oder Speichern im ESP32) getrennt voneinander nutze.

Hat jemand eine Idee wie ich das ganze gleichzeitig nutzen kann?

Sobald ich die SPIFFS.h & FS.h einbinde in den funktionierenden TFT Sketch erhalte ich:

Arduino IDE
...AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\FS\src/FS.h:118:11: error: 'File' is already declared in this scope

using fs::File;

^

plattformIO

packages/framework-arduinoespressif32/libraries/FS/src/FS.h:118:11: error: 'File' is already declared in this scope
using fs::File;

#include <Wire.h>
#include <SPI.h>

#include "Adafruit_ILI9341.h"
#include "Adafruit_STMPE610.h"

#include <SdFat.h>                // SD card & FAT filesystem library

SdFat SD;

#include "SPIFFS.h"
#define FS_NO_GLOBALS 
#include "FS.h"

//#include <Adafruit_ImageReader.h> // Image-reading functions

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Auszug aus der FS.h

#ifndef FS_NO_GLOBALS
using fs::FS;
using fs::File;
using fs::SeekMode;
using fs::SeekSet;
using fs::SeekCur;
using fs::SeekEnd;
#endif //FS_NO_GLOBALS

Ich Danke Euch bereits vorab für Eure Mühe!

Grüße

Der ESP32 hat keinen EEPROM, sondern nur Flash.

Du hast 2 Mal die FS.h drauf.

Gruß Tommy

Moin & Danke,

sorry mein Fehler. Natürlich Flash.

Du hast 2 Mal die FS.h drauf.
Selbst wenn ich die FS.h auskommentiere bekomme ich noch den gleichen Fehler. :frowning:

Grüße

Moin nochmal zusammen,

habs gelöst.

#define FS_NO_GLOBALS

... sollte möglichst weit oben stehen ;-).

Vielen Dank für den Denkanstoß!

Grüße