Nicht vorhandene temp Datei beim Komilieren

Hallo,

das ist mein erster Beitrag in diesem Thema und es ist direkt eine Frage.

Mit dem Programmieren bin ich erst vor wenigen Monaten angefangen, immer so ein bisschen. Das ist leider nichts, was mir in den Schoss fällt. Muss mir viel erarbeiten. Also bitte nicht zu viel Kenntnisse bei mir voraussetzen.

Beim Kompilieren erhalte ich die Fehlermeldung:

C:\Users\Stefan\Documents\Arduino\libraries\arduino_876027\src/SFE_MicroOLED.h:37:26: fatal error: avr/pgmspace.h: No such file or directory

Ich habe in diesem Tempverzeichnis nachgesehen, das Verzeichnis "arduino_876027" gibt es tatsächlich nicht. In meiner Verzweifelung habe ich das gesamte Tempverzeichnis gelöscht und nach einem Reboot die IDE den Sketch erneut kompilieren lassen. Das Verzeichnis füllt zwar, jedoch ohne dieses Verzeichnis.

Der Sketch ist definitiv ok, habe ihn bereits vor etwa 2 Wochen aufgespielt. Es lief einwandfrei. Zwischenzeitlich habe ich einiges ausprobiert und wollte mit dem Sketch etwas anderes anfangen, ihn umschreiben.

Weiterhin habe ich auch andere Sketche aus den Beispielen probiert. Und immer wieder taucht exakt diese Meldung auf.

Kann es vielleicht sein, dass ein Update einer Libary das Problem erzeugt?

IDE: 1.8.2
OS: WIN7/64

Falls es Info`s braucht um dieses Problem zu lösen, dann bitte eben posten.

Danke vorab! :slight_smile:

STSA:
Hallo,

das ist mein erster Beitrag in diesem Thema und es ist direkt eine Frage.

Mit dem Programmieren bin ich erst vor wenigen Monaten angefangen, immer so ein bisschen. Das ist leider nichts, was mir in den Schoss fällt. Muss mir viel erarbeiten. Also bitte nicht zu viel Kenntnisse bei mir voraussetzen.

Beim Kompilieren erhalte ich die Fehlermeldung:

C:\Users\Stefan\Documents\Arduino\libraries\arduino_876027\src/SFE_MicroOLED.h:37:26: fatal error: avr/pgmspace.h: No such file or directory

Ich habe in diesem Tempverzeichnis nachgesehen, das Verzeichnis "arduino_876027" gibt es tatsächlich nicht. In meiner Verzweifelung habe ich das gesamte Tempverzeichnis gelöscht und nach einem Reboot die IDE den Sketch erneut kompilieren lassen. Das Verzeichnis füllt zwar, jedoch ohne dieses Verzeichnis.

Der Sketch ist definitiv ok, habe ihn bereits vor etwa 2 Wochen aufgespielt. Es lief einwandfrei. Zwischenzeitlich habe ich einiges ausprobiert und wollte mit dem Sketch etwas anderes anfangen, ihn umschreiben.

Weiterhin habe ich auch andere Sketche aus den Beispielen probiert. Und immer wieder taucht exakt diese Meldung auf.

Kann es vielleicht sein, dass ein Update einer Libary das Problem erzeugt?

Falls es Info`s braucht um dieses Problem zu lösen, dann bitte eben posten.

Danke vorab! :slight_smile:

Das Problem ist eher ein Library-Downgrade.

Die Datei pgmspace.h gab es nur in IDE-Versionen vor dem Jahr 2012.

Wenn eine deiner Libraries so alt ist undpgmspace.h inkludiert, inkludiere stattdessen "Arduino.h"!

Vielen Dank für die schnelle Antwort.

Ok, die Libary hatte ich ja auch schon im Verdacht. Ich bin nur überrascht, dass es vor wenigen Tagen noch so funktionierte. Aber nun denn.....

Habe soeben dann mal den Rat befolgt.

#include <Wire.h>  // Include Wire if you're using I2C
#include <SFE_MicroOLED.h>  // Include the SFE_MicroOLED library
#include <Arduino.h>
#define PIN_RESET D8  // Connect RST to pin 9 (req. for SPI and I2C)
#define DC_JUMPER D7

MicroOLED oled(PIN_RESET, DC_JUMPER); // Example I2C declaration

Die Fehlermeldungen sind identisch.

Leider kann ich eine Libary nicht wirklich lesen. Bestenfalls ahne ich, was da passiert.

Sitzt der Fehler denn vielleicht in der <SFE_MicroOLED.h> oder <Wire.h> ?

Oder vielleicht in einem Update davon? Sobald mir ein Update angezeigt wurde, habe ich dies bisher auch immer durchgeführt.

Grüße....

in der SFE_MicroOLED.h scheint pgmspace.h: aufgerufen zu werden.
Wenn das so ist, hilft es m.E. auch nicht,
nur eine andere Library einzubinden ?
Der Aufruf ist doch dann immer noch ins Leere?

Stefan

Ja, das stimmt sicher. Hatte das mit der Arduino.h einmal ausprobiert, da es mir ja empfohlen wurde. Dies allerdings ohne zu wissen, was die Lib genau macht. Wie gesagt, ich verstehe es nicht wirklich.

Wie auch immer.

Den Fehler kann ich aber definitiv festmachen wenn ich #include <SFE_MicroOLED.h> verwende. Mit dieser Erkenntnis habe ich dann auch etwas im Netz gewühlt und siehe da, bin da wohl nicht alleine. Auf GitHub finde ich

SFE_MicroOLED.h Load <avr/pgmspace.h> for Teensy3 2 years ago

Auch nicht ganz frisch und funktioniert ebenso wenig

Irritierend ist nach wie vor, dass es bis vor kurzem kein Problem beim Kompilieren gab. Wenn es mit der Lib nicht mehr geht, was kann ich denn dann versuchen?

Die Datei pgmspace.h gab es nur in IDE-Versionen vor dem Jahr 2012.

Das ist nicht wahr!

#include <avr/pgmspace.h>
an den Anfang der *.ino und es kompiliert ohne Meldung.
Also existiert die Datei!
Sonst würde es mich in Grund und Boden schreien...

Leider kenne ich die SFE_MicroOLED.h nicht, kann also nix dazu sagen....

Versuchst du das denn für ein übliches Arduino Board zu kompilieren, oder für irgend einen Exoten?
avr/pgmspace.h gibts natürlich nur für AVRs.

Bisher habe ich diese Sketche nur mit WEMOS D1 & R2 nini und Pro ausprobiert um entweder nur Schrift zu erzeugen und im Späteren dann auch in Verbindung mit einem DHT11 Sensor. Ich hoffe, das ist nicht zu exotisch :slight_smile:

Die Boardverwaltung ist auch auf dem neuesten Stand, es lässt sich nichts aktualisieren.

Und wie bereits mehrfach erwähnt, vor kurzem ging es noch.

Konnte mir meine Sketche, welche eben auch dieses fragliche Lib includieren noch nutzen. Ich kann einfach nicht verstehen, warum das so ist.

In meiner Verzweiflung habe ich bereits die IDE neu installiert, auch das half nicht. Bin also für weitere Ideen, die zur Lösung führen echt dankbar.

Danke weiterhin......

STSA:
Bisher habe ich diese Sketche nur mit WEMOS D1 & R2 nini und Pro ausprobiert um entweder nur Schrift zu erzeugen und im Späteren dann auch in Verbindung mit einem DHT11 Sensor. Ich hoffe, das ist nicht zu exotisch :slight_smile:

Die Boardverwaltung ist auch auf dem neuesten Stand, es lässt sich nichts aktualisieren.

Und wie bereits mehrfach erwähnt, vor kurzem ging es noch.
/quote]

Ich habe in meiner Antwort oben auch den Dateinamen verwechselt:
Diese Darei gibt es nicht mehr: wProgram.h

Ok, kann ja mal passieren, alles gut :slight_smile:

Aber was mach ich denn nun? Dies Lib ist in ganz vielen Beispielen includiert.

Neuinstallation

  • bereits durchgeführt

Libs upgedatet

  • bereits durchgeführt

Nach der letzten Version von SFE_MicroOLED.h gesucht und drüber installiert

  • bereits durchgeführt

Verzweiflung macht sich breit...... :confused:

Ausfürliche Fehlermeldungen einschalten, dann sagt er Dir, in welcher Datei die wprogram.h aufgerufen wird. Diese mit einem Texteditor (z.B. Notepad++) öffnen, den Aufruf raus werfen und durch Arduino.h ersetzen.
Das solange wiederholen, bis der Kompiler nicht mehr meckert.
Das zeigt aber auch, wie steinalt manche Libs sind.

Gruß Tommy

Ok, die Änderungen habe ich vorgenommen und siehe da, die Fehlermeldungen sind weg.

Aber!

Überall da. wo ich Schrift verwendet habe, kommen nur noch irgendwelche grafischen Zeichen. Völlig wirres Zeug. In einem Sketch mit einem sich drehenden Würfel klappt es sauber.
Aber ich denke, da werde ich den Sketch wohl anpassen müssen. Na mal sehen, ob mir das gelingt.

Werde mich damit in den nächsten Tagen beschäftigen. Ich hoffe, dass ich mich noch mal melden darf, wenns immer noch klemmt :slight_smile:

Bis hierhin nochmals vielen herzlichen Dank für Eure Mühen.

Grüße vom Niederrhein

STSA