I Primesc următoarea eroare la încercarea de a compila schița mea:

În fișierul inclus din sketch.ino: 24: 0: SerialRenderer.h: 7: error : nume de clasă așteptat înainte de „{” 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_ 

Conținutul din MenuSystem.h poate fi găsit la https://github.com/jonblack/arduino-menusystem/blob/master/MenuSystem.h .

Se pare că includerea MenuSystem.h nu se întâmplă când SerialRenderer.h este inclus din fișierul meu principal de schiță. Primesc aceeași eroare dacă includerea din SerialRenderer.h este eliminată.

Îmi lipsește ceva simplu pentru ca compilatorul să poată „vedea” MenuSystem.h?

EDIT:

Se pare că mă uitam la o versiune mai nouă a bibliotecii arduino-menusystem decât am instalat (versiunea 2.1.1). Versiunea respectivă nu avea o clasă numită MenuComponentRenderer.

Am extras ultima versiune de la https://github.com/jonblack/arduino-menusystem/tree/master și se compilează bine.

Răspuns

Cel mai probabil este cauzat de faptul că o versiune corectă a bibliotecii MenuSystem nu este instalat corect. Verificați dacă puteți adăuga biblioteca la schița dvs.

EDIT : a adăugat că și versiunea ar trebui fi corect

Comentarii

  • Pot include biblioteca în schița mea prin Sketch > Include Library. De asemenea, Managerul de biblioteci arată că este instalată versiunea 2.1.1.
  • Rețineți pentru a adăuga includerea la schiță. Construcția va analiza schița care include adăugarea căilor necesare.
  • @MikaelPatel Schița mea principală include atât SerialRenderer.h, cât și MenuSystem.h, dar primesc aceeași eroare indiferent dacă este sau nu MenuSystem.h inclus.
  • Într-adevăr, versiunea este de asemenea importantă.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *