Ich habe eine Klasse A welche Klasse B kennen soll und Klasse B soll Klasse A kennen.
Klasse B referenziert jedoch noch auf die Library "Bluetoothserial.h" und dadurch bekomme ich einen komischen Fehler.
Bevor komische Fragen kommen:
Ja die Cpp´s sind leer und machen nichts jedoch habe ich für das Verständnis keine Definition der Klassen eingetragen
Nein es liegt kein Problem mit der "Bluetoothserial.h" Datei vor
Wenn ich in der BtProvider.cpp das include auf die "WifiProvider.h" library entferne klappt alles super.
Fehler:
Compiling .pio\build\az-delivery-devkit-v4\lib989\BT\BTProvider.cpp.o
In file included from lib\WIFI\WifiProvider.cpp:2:0:
lib\BT/BTProvider.h:6:29: fatal error: BluetoothSerial.h: No such file or directory
Looking for BluetoothSerial.h dependency? Check our library registry!
In der Arduino-IDE 1.8.13 bekomme ich das kompiliert:
Der Sketch verwendet 259840 Bytes (19%) des Programmspeicherplatzes. Das Maximum sind 1310720 Bytes.
Globale Variablen verwenden 13532 Bytes (4%) des dynamischen Speichers, 314148 Bytes für lokale Variablen verbleiben. Das Maximum sind 327680 Bytes.
Man muss halt nur die eigens angelegten Header beim include in den cpp-Dateien nicht im Standard-Include-Pfad, sondern lokal suchen lassen:
bei mir klappt das immer noch nicht. Liegt es am dem board welches ich verwende?
[env:az-delivery-devkit-v4]
platform = espressif32
board = az-delivery-devkit-v4
framework = arduino
Der Code sieht jetzt wie folgt aus:
BTProvider.cpp
#include "BTProvider.h"
#include "WifiProvider.h"
BTProvider.h
#ifndef BtProvider_h
#define BtProvider_h
#include <Arduino.h>
#include <BluetoothSerial.h>
#include <NimBLEDevice.h>
class WifiProvider;
class BTProvider
{
public:
BTProvider();
private:
};
#endif
WifiProvider.cpp
#include "WifiProvider.h"
#include "BTProvider.h"
WifiProvider.h
#ifndef WifiProvider_h
#define WifiProvider_h
#include <Arduino.h>
class BTProvider;
class WifiProvider
{
public:
WifiProvider();
};
#endif