Hi,
ich bin gerade meine Libraries am schreiben und generiere einen speziellen Fehler.
Ich habe eine Klasse A welche Klasse B included. Klasse A beinhaltet eine Ref variable auf Klasse B.
Im Prozess ruft dann Klasse A eine Funktion in Klasse B auf.
Jetzt braucht jedoch Klasse B ein paar Variablen aus Klasse A. Mein Plan war es hier auch eine Ref Variable auf Klasse A zu erstellen. Damit ist sichergestellt das ich flexibel auf Daten zugreifen kann und diese nicht im Funktionskopf hinterlegen muss.
Wenn ich jedoch in der Klasse B meine Klasse A include (Um die Ref Variable erstellen zu können), bekomme ich plötzlich ein Compilererrir in Klasse A das meine Klasse B nicht gefunden werden kann.
Hier ein Auszuf der .h Struktur:
[color=#d4d4d4][color=#c586c0]#ifndef[/color][color=#569cd6] WifiProvider_h[/color]
[color=#c586c0]#define[/color][color=#569cd6] [/color][color=#569cd6]WifiProvider_h[/color]
[color=#c586c0]#include[/color][color=#569cd6] [/color][color=#ce9178]<WiFi.h>[/color]
[color=#c586c0]#include[/color][color=#569cd6] [/color][color=#ce9178]<esp_wifi.h>[/color]
[color=#c586c0]#include[/color][color=#569cd6] [/color][color=#ce9178]<NVMProvider.h>[/color]
[color=#c586c0]#include[/color][color=#569cd6] [/color][color=#ce9178]<GPSProvider.h>[/color]
[color=#c586c0]#include[/color][color=#569cd6] [/color][color=#ce9178]<ESPmDNS.h>[/color]
[color=#c586c0]#include[/color][color=#569cd6] [/color][color=#ce9178]"WebServerProvider.h"[/color]
[color=#c586c0]#define[/color][color=#569cd6] [/color][color=#569cd6]NMEA_TCP_PORT[/color][color=#569cd6] [/color][color=#b5cea8]1818[/color]
[color=#c586c0]#ifdef[/color][color=#569cd6] [/color][color=#569cd6]UPTIME[/color]
[color=#c586c0]#include[/color][color=#569cd6] [/color][color=#ce9178]"uptime_formatter.h"[/color]
[color=#c586c0]#endif[/color]
[color=#569cd6]class[/color] [color=#4ec9b0]WifiProvider[/color]
{
[color=#569cd6]public:[/color]
[color=#dcdcaa]WifiProvider[/color]();
[color=#569cd6]void[/color] [color=#dcdcaa]init[/color]([color=#4ec9b0]stored_preference_t[/color] [color=#569cd6]*[/color][color=#9cdcfe]storedPreferences[/color], [color=#4ec9b0]WebServerProvider[/color] [color=#569cd6]*[/color][color=#9cdcfe]webServerProvider[/color]);
[color=#569cd6]void[/color] [color=#dcdcaa]setHostname[/color]([color=#569cd6]const[/color] [color=#569cd6]char[/color] [color=#569cd6]*[/color][color=#9cdcfe]hostname[/color]);
[color=#569cd6]void[/color] [color=#dcdcaa]wifi_AP[/color]();
[color=#569cd6]void[/color] [color=#dcdcaa]wifi_STA[/color]();
[color=#569cd6]void[/color] [color=#dcdcaa]nmeaServerStart[/color]();
[color=#569cd6]void[/color] [color=#dcdcaa]nmeaServerStop[/color]();
[color=#569cd6]void[/color] [color=#dcdcaa]webConfigStart[/color]();
[color=#569cd6]void[/color] [color=#dcdcaa]webConfigStop[/color]();
[color=#4ec9b0]stored_preference_t[/color] *[color=#9cdcfe]stored_preferences[/color];
[color=#4ec9b0]WebServerProvider[/color] *[color=#9cdcfe]webServer_provider[/color];
[color=#4ec9b0]WiFiServer[/color] *[color=#9cdcfe]nmea_server[/color];
[color=#4ec9b0]IPAddress[/color] [color=#9cdcfe]MyIP[/color];
[color=#569cd6]char[/color] [color=#9cdcfe]ap_ssid[/color][[color=#569cd6]MAX_AP_NAME_SIZE[/color]];
[color=#569cd6]const[/color] [color=#569cd6]char[/color] [color=#9cdcfe]ap_password[/color][[color=#569cd6]WIFI_KEY_MAXLEN[/color]] = VEDEX_PW;
[color=#569cd6]const[/color] [color=#4ec9b0]uint[/color] [color=#9cdcfe]nmeaServerPort[/color] = NMEA_TCP_PORT;
[color=#569cd6]bool[/color] [color=#9cdcfe]wifi_connected[/color] = [color=#569cd6]false[/color];
[color=#4ec9b0]WiFiClient[/color] [color=#9cdcfe]NMEARemoteClient[/color];
[color=#569cd6]private:[/color]
};
[color=#c586c0]#endif
[/color][/color]
[color=#d4d4d4][color=#c586c0]#ifndef[/color][color=#569cd6] WEBSERVER_h[/color]
[color=#c586c0]#define[/color][color=#569cd6] [/color][color=#569cd6]WEBSERVER_h[/color]
[color=#c586c0]#include[/color][color=#569cd6] [/color][color=#ce9178]<WebServer.h>[/color]
[color=#c586c0]#include[/color][color=#569cd6] [/color][color=#ce9178]<ESPmDNS.h>[/color]
[color=#c586c0]#include[/color][color=#569cd6] [/color][color=#ce9178]<NVMProvider.h>[/color]
[color=#6a9955]//#include <WifiProvider.h>[/color]
[color=#c586c0]#include[/color][color=#569cd6] [/color][color=#ce9178]<uri/UriBraces.h>[/color]
[color=#c586c0]#include[/color][color=#569cd6] [/color][color=#ce9178]<Pagecontent/Header.h>[/color]
[color=#c586c0]#include[/color][color=#569cd6] [/color][color=#ce9178]<Pagecontent/Footer.h>[/color]
[color=#c586c0]#include[/color][color=#569cd6] [/color][color=#ce9178]<Pagecontent/css.h>[/color]
[color=#c586c0]#include[/color][color=#569cd6] [/color][color=#ce9178]<Pagecontent/root_options.h>[/color]
[color=#c586c0]#define[/color][color=#569cd6] [/color][color=#569cd6]WEBPORTAL_HEADER_DYN_SIZE[/color][color=#569cd6] [/color][color=#b5cea8]150[/color]
[color=#569cd6]class[/color] [color=#4ec9b0]WebServerProvider[/color]
{
[color=#569cd6]public:[/color]
[color=#dcdcaa]WebServerProvider[/color]();
[color=#569cd6]void[/color] [color=#dcdcaa]wsStart[/color]();
[color=#569cd6]void[/color] [color=#dcdcaa]wsStop[/color]();
[color=#569cd6]void[/color] [color=#dcdcaa]setStoredPreferences[/color]([color=#4ec9b0]stored_preference_t[/color] [color=#569cd6]*[/color][color=#9cdcfe]storedPreferences[/color]);
[color=#6a9955] //Dadurch das die Klassen nicht einander kennenlernen können, muss ich einzelne Variablen durchschleifen[/color]
[color=#569cd6]char[/color] *[color=#9cdcfe]WifiProv_ssid[/color];
[color=#4ec9b0]WebServer[/color] *[color=#9cdcfe]web_Server[/color];
[color=#4ec9b0]stored_preference_t[/color] *[color=#9cdcfe]stored_preferences[/color];
[color=#569cd6]private:[/color]
[color=#569cd6]void[/color] [color=#dcdcaa]handleNotFound[/color]();
[color=#569cd6]void[/color] [color=#dcdcaa]handle_menu[/color]();
[color=#569cd6]void[/color] [color=#dcdcaa]handle_css[/color]();
[color=#569cd6]char[/color] [color=#569cd6]*[/color][color=#dcdcaa]generateHtmlHeader[/color]([color=#569cd6]char[/color] [color=#569cd6]*[/color] [color=#9cdcfe]content[/color],[color=#569cd6]bool[/color] [color=#9cdcfe]add_menu[/color] = [color=#569cd6]true[/color]);
[color=#569cd6]char[/color] [color=#569cd6]*[/color][color=#dcdcaa]generateHtmlBody[/color]([color=#569cd6]char[/color] [color=#569cd6]*[/color][color=#9cdcfe]input[/color], [color=#569cd6]bool[/color] [color=#9cdcfe]add_menu[/color] = [color=#569cd6]true[/color]);
[color=#4ec9b0]MDNSResponder[/color] [color=#9cdcfe]MDNS[/color];
[color=#569cd6]const[/color] [color=#569cd6]char[/color] [color=#9cdcfe]html_text[/color][[color=#b5cea8]10[/color]] [color=#569cd6]PROGMEM[/color] = [color=#ce9178]"text/html"[/color];
[color=#569cd6]const[/color] [color=#569cd6]char[/color] [color=#9cdcfe]html_css[/color][[color=#b5cea8]9[/color]] [color=#569cd6]PROGMEM[/color] = [color=#ce9178]"text/css"[/color];
[color=#569cd6]const[/color] [color=#569cd6]char[/color] [color=#9cdcfe]text_json[/color][[color=#b5cea8]17[/color]] [color=#569cd6]PROGMEM[/color] = [color=#ce9178]"application/json"[/color];
[color=#569cd6]const[/color] [color=#569cd6]char[/color] [color=#9cdcfe]json_ok[/color][[color=#b5cea8]16[/color]] [color=#569cd6]PROGMEM[/color] = [color=#ce9178]"{'status':'ok'}"[/color];
[color=#569cd6]const[/color] [color=#569cd6]char[/color] [color=#9cdcfe]json_error[/color][[color=#b5cea8]19[/color]] [color=#569cd6]PROGMEM[/color] = [color=#ce9178]"{'status':'error'}"[/color];
};
[color=#c586c0]#endif[/color]
[/color]
Wenn ich das #include aktiviere kommt es zu besagtem Fehler.
Jemand eine Ahnung woran es liegt?