Fehler beim Kompilieren für das Board xyz

Hallo zusammen,
ich drehe am Rad und habe bisher keine Lösung gefunden.
Alte Sketche, die sich einwandfrei in früherer Zeit kompilieren ließen, kommen jetzt mit dem Fehler-Hinweis "Fehler beim Kompilieren für das Board xyz.
Meine Arduino-Ver. ist 1.8.13. Es handelt sich Immer um Sketche mit "#include <ESP8266WiFi.h>".
Zum Beispiel dieser Sketch:

#include <ESP8266WiFi.h>
 
const char* ssid = "FRITZ!Box Fon WLAN 7270";
const char* password = "0312194720041948";
 
int ledPin = 13; // GPIO13
WiFiServer server(80);
 
void setup() {
  Serial.begin(115200);
  delay(10);
 
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
 
  // Connect to WiFi network
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
 
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
 
  // Start the server
  server.begin();
  Serial.println("Server started");
 
  // Print the IP address
  Serial.print("Use this URL to connect: ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.println("/");
 
}
 
void loop() {
  // Check if a client has connected
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
 
  // Wait until the client sends some data
  Serial.println("new client");
  while(!client.available()){
    delay(1);
  }
 
  // Read the first line of the request
  String request = client.readStringUntil('\r');
  Serial.println(request);
  client.flush();
 
  // Match the request
 
  int value = LOW;
  if (request.indexOf("/LED=ON") != -1)  {
    digitalWrite(ledPin, HIGH);
    value = HIGH;
  }
  if (request.indexOf("/LED=OFF") != -1)  {
    digitalWrite(ledPin, LOW);
    value = LOW;
  }
 
// Set ledPin according to the request
//digitalWrite(ledPin, value);
 
  // Return the response
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println(""); //  do not forget this one
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
 
  client.print("Led pin is now: ");
 
  if(value == HIGH) {
    client.print("On");
  } else {
    client.print("Off");
  }
  client.println("

");
  client.println("<a href=\"/LED=ON\"\"><button>Turn On </button></a>");
  client.println("<a href=\"/LED=OFF\"\"><button>Turn Off </button></a>
");  
  client.println("</html>");
 
  delay(1);
  Serial.println("Client disonnected");
  Serial.println("");
 
}

Als Fehler kommt dann

/Users/gerdjacobsen/ARDUINO/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp: In member function 'int ESP8266WiFiGenericClass::hostByName(const char*, IPAddress&)':
/Users/gerdjacobsen/ARDUINO/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp:333:20: error: ambiguous overload for 'operator!=' (operand types are 'IPAddress' and 'int')
         if(aResult != 0) {
                    ^
/Users/gerdjacobsen/ARDUINO/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp:333:20: note: candidates are:
/Users/gerdjacobsen/ARDUINO/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp:333:20: note: operator!=(uint32_t {aka unsigned int}, int) <built-in>
/Users/gerdjacobsen/ARDUINO/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp:333:20: note: operator!=(u32_t {aka long unsigned int}, int) <built-in>
/Users/gerdjacobsen/ARDUINO/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp:333:20: note: operator!=(int, int) <built-in>
/Users/gerdjacobsen/ARDUINO/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp:333:20: note: operator!=(const ip_addr_t* {aka const ip4_addr*}, const ip_addr_t* {aka const ip4_addr*}) <built-in>
/Users/gerdjacobsen/ARDUINO/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp:333:20: note: operator!=(ip_addr_t* {aka ip4_addr*}, ip_addr_t* {aka ip4_addr*}) <built-in>
In file included from /Users/gerdjacobsen/ARDUINO/libraries/ESP8266WiFi/src/ESP8266WiFi.h:31:0,
                 from /Users/gerdjacobsen/ARDUINO/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp:25:
/Users/gerdjacobsen/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/cores/esp8266/IPAddress.h:107:14: note: bool IPAddress::operator!=(const IPAddress&) const
         bool operator!=(const IPAddress& addr) const {
              ^
/Users/gerdjacobsen/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/cores/esp8266/IPAddress.h:116:14: note: bool IPAddress::operator!=(uint32_t) const
         bool operator!=(uint32_t addr) const {
              ^
/Users/gerdjacobsen/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/cores/esp8266/IPAddress.h:119:14: note: bool IPAddress::operator!=(u32_t) const
         bool operator!=(u32_t addr) const {
              ^
Mehrere Bibliotheken wurden für "ESP8266WiFi.h" gefunden
 Benutzt: /Users/gerdjacobsen/ARDUINO/libraries/ESP8266WiFi
 Nicht benutzt: /Users/gerdjacobsen/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WiFi
exit status 1
Fehler beim Kompilieren für das Board Generic ESP8266 Module.

Es ist egal, welches Board ich auswähle, es kommt immer die Abweisung des Boards.
Was ist hier von mir nicht beachtet worden ?

Gruß Gerd

Und welches Board verwendest du tatsächlich ?
Ein ESP8266-01 wird hier sicher Probleme machen.

Hallo,

bei mir compiliert der sketch auch für einen 8266-01 . Ich denke da stimmt was mit den verzeichnissen nicht

Heinz

@TO: Welche Version des ESP8266-Core verwendest Du?

Es sieht so aus, als hättest Du die 2 Mal installiert. Wirf mal beide raus und installiere sauber über den Boardmanager neu.
Du darfst nur 1 ESP8266WiFi haben.

Gruß Tommky

Rentner:
Hallo,

bei mir compiliert der sketch auch für einen 8266-01 . Ich denke da stimmt was mit den verzeichnissen nicht

Heinz

Das wundert mich. Der hat keinen GPIO13.

#Dieter
Ich habe zur Zeit kein Board angeschlossen, muß man ja auch nicht, ich habe mehrere Boards zum Kompilieren gewählt, aber egal welches ich auswähle, es kommt der gleiche Fehler.

#Heinz
Arduino läuft bei mir auf einem MacBook Air. Die Verzeichnisse habe ich neu "sortiert". Jetzt USER-ARDUINO darunter libraries und Sketche , hoffe, dass es so korrekt ist.

#Tommky
Ist nur 1x installiert, die Zeile "/Users/gerdjacobsen/Library/Arduino15......" wird immer wieder kreiert, auch wenn ich sie lösche. Ist schon eigenartig, wo noch nicht einmal eine Arduinoversion 15 installiert ist oder war.

Ich habe sogar Arduino neu installiert.

Danke für eure Hilfen. Bitte gebt mir einen Hinweis, wenn etwas falsch von mir gemacht wurde.

Du bist der Meinung, die beiden Pfade saugt sich Dein PC aus den Fingern?

Mehrere Bibliotheken wurden für "ESP8266WiFi.h" gefunden
 Benutzt: /Users/gerdjacobsen/ARDUINO/libraries/ESP8266WiFi
 Nicht benutzt: /Users/gerdjacobsen/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WiFi

In den ersten gehört es nicht hin - wenn er ihn behnutzt, ist es also dort.
In den zweiten gehört es.

Aber wenn Du meinst, es wäre alles richtig --> Dein Problem.

Gruß Tommy

Hallo Tommy,
das mag sich schon eigenartig anhören, aber den zweiten Satz habe ich nicht erzeugt !
"Nicht benutzt: /Users/gerdjacobsen/Library/Arduino15/packages/esp8266/...."

Es ist auch eine andere "Library", sie wird auch anders geschrieben und befindet sich normalerweise nicht im direkten Zugriff (Attribut unsichtbar)
Ich kann sie löschen, aber sie wird wieder neu erzeugt !? Richtig finde ich das auch nicht. Die zweite Zeile erhalte ich auch bei anderen Sketches die funktionieren.
Der Fehler, dass das Board abgelehnt wurde, kam eigentlich erst mit der Neuinstallation von ESP8266WiFi.h . Habe auch andere Dateien versucht, jedoch ohne Erfolg.

So sieht es auf der HD aus!
NICHT selbst erzeugte Verzeichnisse
Macintosh HD
Benutzer
gerdjacobsen
Library (unsichtbar)
Arduino15
packages
esp23 und esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WiFi

SELBST erzeugte Dateien
Macintosh HD
Benutzer
gerdjacobsen
ARDUINO
libraries und sketches

Gruß Gerd

COOL:
Alte Sketche, die sich einwandfrei in früherer Zeit kompilieren ließen, kommen jetzt mit dem Fehler-Hinweis "Fehler beim Kompilieren für das Board xyz.
Meine Arduino-Ver. ist 1.8.13. Es handelt sich Immer um Sketche mit "#include <ESP8266WiFi.h>".

Als Fehler kommt dann

/Users/gerdjacobsen/ARDUINO/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp: In member function 'int ESP8266WiFiGenericClass::hostByName(const char*, IPAddress&)':

/Users/gerdjacobsen/ARDUINO/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp:333:20: error: ambiguous overload for 'operator!=' (operand types are 'IPAddress' and 'int')

Yo.
Hast Du das mal mit einer Version 1.8.8. probiert?

Was ist hier von mir nicht beachtet worden ?

Das wird sich evtl. ergeben, wenn es unter 1.8.8 geht.

COOL:
Arduino läuft bei mir auf einem MacBook Air. Die Verzeichnisse habe ich neu "sortiert". Jetzt USER-ARDUINO darunter libraries und Sketche , hoffe, dass es so korrekt ist.

Nö.
Darunter Sketche und darunter libraries.

die Zeile "Users/gerdjacobsen/Library/Arduino15......" wird immer wieder kreiert, auch wenn ich sie lösche. Ist schon eigenartig, wo noch nicht einmal eine Arduinoversion 15 installiert ist oder war.

ja.
das ist RICHTIG! Es gibt auch keine Version 15.
Das ist der Konfiguration-Ordner!

Hallo
#my_xy_projekt

du hast Recht, dass Arduino15-Verzeichnis ist ein reines Installationsverzeichnis. Ich habe dieses komplett gelöscht und ARDUINO 1.8.8 installiert. Somit sind jetzt 2 Versionen auf dem MAC.
Ich habe beide mit den Bordverwaltern versorgt:

https://dl.espressif.com/dl/package_esp32_index.json
https://arduino.esp8266.com/stable/package_esp8266com_index.json
http://digistump.com/package_digistump_index.json

Beide Versionen haben den gleichen Sketch mit dem NodeMCU 0.9 (ESP-12 Module) Board, wie auch schon beschrieben, kompiliert mit folgendem Ergebnis.

Ver. 1.8.8 hat nicht geklappt

fork/exec /Applications/Arduino-1.8.8.app/Contents/Java/tools-builder/ctags/5.8-arduino11/ctags: bad CPU type in executable
Fehler beim Kompilieren für das Board NodeMCU 0.9 (ESP-12 Module).

Ver. 1.8.13 hat geklappt, jedoch mit Hinweisen

Executable segment sizes:
IROM   : 244828          - code in flash         (default or ICACHE_FLASH_ATTR) 
IRAM   : 27260   / 32768 - code in IRAM          (ICACHE_RAM_ATTR, ISRs...) 
DATA   : 1264  )         - initialized variables (global, static) in RAM/HEAP 
RODATA : 1108  ) / 81920 - constants             (global, static) in RAM/HEAP 
BSS    : 25024 )         - zeroed variables      (global, static) in RAM/HEAP 
Der Sketch verwendet 274460 Bytes (26%) des Programmspeicherplatzes. Das Maximum sind 1044464 Bytes.
Globale Variablen verwenden 27396 Bytes (33%) des dynamischen Speichers, 54524 Bytes für lokale Variablen verbleiben. Das Maximum sind 81920 Bytes.

Gruß Gerd

Cool - dass es jetzt geht! (sorry Gerd, konnte ich mir nicht verkneifen)

Was stört Dich an den Hinweisen?
Damit ist aus meiner Sicht alles okay - ist ein Teil des Linker-Outputs. Man kann ja wissen wollen, wie sich Code und Daten so verteilen im Produkt.

wno war schneller.

Recht vielen Dank für eure Unterstützung !

Ist schon verdammt unübersichtlich wo beim MAC die Daten stehen und dazu werden noch Namen verwendet, die einen ganz schön verunsichern.

Euch noch einen schönen Abend

Gruß Gerd

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.