Forum: Mikrocontroller und Digitale Elektronik ESP8266 time_t Fehler in Sloeber


von MWS (Gast)


Lesenswert?

Sloeber ist eine Programmierumgebung für den ESP8266, basierend auf der 
IDE Eclipse und dem Arduino-Framework.
http://eclipse.baeyens.it/

Nachdem die Fehlersuche ein wenig Zeit gekostet hat, nachfolgend die 
Lösung etwas detaillierter als in Issue 851 beschrieben.
https://github.com/Sloeber/arduino-eclipse-plugin/issues/851

Der Fehler äußert sich als "unknown type name 'time_t' time.c", sobald 
time.c für ESP8266-spezifische SNTP Funktionen verwendet wird, was mit 
Einbinden durch andere Libs geschehen kann.

Hier eine detaillierte Anleitung zu Behebung/Hinmurksung/Workaround:

In
1
\\sloeber\arduinoPlugin\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include
 wird im selben Verzeichnis eine Kopie der Datei time.h unter neuem 
Namen _time.h erstellt.

In
1
\\sloeber\arduinoPlugin\packages\esp8266\hardware\esp8266\2.2.0\cores\esp8266
 wird die Datei time.c bearbeitet und dort
1
#include <time.h>
 nach
1
#include <_time.h>
 geändert.

Die Pfade dürften auf andere Versionen übertragbar sein.

time.h stammt aus dem Paket win32-xtensa-lx106-elf-gb404fb9-2.tar.gz, 
time.c aus dem Paket esp8266-2.2.0.zip, die derzeit neueste Version 
2.3.0 weist das gleiche Problem auf.

Sobald Libraries und Hardwarecore innerhalb der IDE geändert werden, ist 
die Wiederholung der Prozedur erforderlich, da time.c überschrieben 
wird, _time.h bleibt zwar erhalten, muss jedoch mit time.h identisch 
sein.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.