I ricevo il seguente errore durante il tentativo di compilare il mio schizzo:

Nel file incluso da sketch.ino: 24: 0: SerialRenderer.h: 7: errore : nome classe previsto prima del “{” 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_ 

Il contenuto di MenuSystem.h può essere trovato su https://github.com/jonblack/arduino-menusystem/blob/master/MenuSystem.h .

Sembra che linclusione di MenuSystem.h non avvenga quando SerialRenderer.h è incluso dal mio file sketch principale. Ottengo lo stesso errore se linclusione in SerialRenderer.h viene rimossa.

Cè qualcosa di semplice che mi manca perché il compilatore sia in grado di “vedere” MenuSystem.h?

EDIT:

È venuto fuori che stavo guardando una versione più recente della libreria arduino-menuystem di quella che avevo installato (versione 2.1.1). Quella versione non aveva una classe chiamata MenuComponentRenderer.

Ho estratto lultima versione da https://github.com/jonblack/arduino-menusystem/tree/master e si compila bene.

Risposta

Molto probabilmente è causato dal fatto che una versione corretta della libreria MenuSystem non è correttamente installato. Controlla se puoi aggiungere la libreria al tuo schizzo.

EDIT : aggiunto che anche la versione dovrebbe sii corretto

Commenti

  • Posso includere la libreria nel mio schizzo tramite Sketch > Includi libreria. Anche Library Manager mostra che è installata la versione 2.1.1.
  • Ricorda di aggiungere linclusione allo schizzo. La build esaminerà lo schizzo include per aggiungere i percorsi necessari.
  • @MikaelPatel Il mio schizzo principale include sia SerialRenderer.he MenuSystem.h, ma ottengo lo stesso errore indipendentemente dal fatto che MenuSystem.h sia incluso.
  • In effetti anche la versione è importante.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *