I får følgende fejl, når jeg forsøger at kompilere min skitse:
I filen inkluderet fra sketch.ino: 24: 0: SerialRenderer.h: 7: fejl : forventet klasse-navn før “{” token
SerialRenderer.h
#ifndef SERIALRENDERER_H_ #define SERIALRENDERER_H_ #include <MenuSystem.h> class SerialRenderer : public MenuComponentRenderer { public: SerialRenderer(); virtual ~SerialRenderer(); public: // methods from MenuComponentRenderer virtual void render(Menu const& menu) const; virtual void render_menu_item(MenuItem const& menu_item) const; virtual void render_back_menu_item(BackMenuItem const& menu_item) const; virtual void render_numeric_menu_item(NumericMenuItem const& menu_item) const; virtual void render_menu(Menu const& menu) const; }; #endif // SERIALRENDERER_H_
Indholdet af MenuSystem.h kan findes på https://github.com/jonblack/arduino-menusystem/blob/master/MenuSystem.h .
Det ser ud til, at inkluderingen af MenuSystem.h ikke sker, når SerialRenderer.h er inkluderet i min hovedskitsefil. Jeg får den samme fejl, hvis inkluderingen i SerialRenderer.h fjernes.
Er der noget simpelt, jeg mangler for, at compileren kan “se” MenuSystem.h?
EDIT:
Det viser sig, at jeg kiggede på en nyere version af arduino-menusystembiblioteket, end jeg havde installeret (version 2.1.1). Denne version havde ikke en klasse kaldet MenuComponentRenderer.
Jeg hentede den nyeste version fra https://github.com/jonblack/arduino-menusystem/tree/master og det kompilerer fint.
Svar
Det skyldes sandsynligvis, at en korrekt version af MenuSystem-biblioteket ikke er korrekt installeret. Kontroller, om du kan føje biblioteket til din skitse.
EDIT : tilføjet, at også versionen skal være korrekt
Kommentarer
- Jeg kan medtage biblioteket i min skitse via skitse > Inkluder bibliotek. Også Library Manager viser, at version 2.1.1 er installeret.
- Husk at tilføje inkluderer til skitsen. Bygningen vil se på skitsen inkluderer for at tilføje de nødvendige stier.
- @MikaelPatel Min hovedskitse inkluderer både SerialRenderer.h og MenuSystem.h, men jeg får den samme fejl, uanset om MenuSystem.h er inkluderet.
- Faktisk er versionen også vigtig.