I saan seuraavan virheen yrittäessäni koota luonnostani:
Tiedostossa, joka on sisällytetty sketch.ino: 24: 0: SerialRenderer.h: 7: virhe : odotettu luokan nimi ennen ”{” – tunnusta
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_
MenuSystem.h: n sisältö löytyy osoitteesta https://github.com/jonblack/arduino-menusystem/blob/master/MenuSystem.h .
Näyttää siltä, että MenuSystem.h: n sisällyttämistä ei tapahdu, kun SerialRenderer.h sisältyy pääpiirustustiedostooni. Saan saman virheen, jos SerialRenderer.h: n sisällys poistetaan.
Puuttuuko jotain yksinkertaista, jotta kääntäjä voisi ”nähdä” MenuSystem.h?
MUOKKAA:
Osoittautui, että katselin uudempaa versiota arduino-menusystem-kirjastosta kuin olin asentanut (versio 2.1.1). Tässä versiossa ei ollut luokkaa nimeltä MenuComponentRenderer.
Vedin viimeisimmän version tiedostosta https://github.com/jonblack/arduino-menusystem/tree/master ja se kääntyy hyvin.
Vastaa
Syynä on todennäköisesti se, että MenuSystem-kirjaston oikeaa versiota ei ole oikein asennettu. Tarkista, voitko lisätä kirjaston luonnokseesi.
MUOKKAA : lisäsi, että myös version pitäisi ole oikea
Kommentit
- Voin sisällyttää kirjaston luonnokseeni Sketch > Sisällytä kirjasto -kohdassa. Myös Library Manager näyttää, että versio 2.1.1 on asennettu.
- Muista lisätä lisää sisällys luonnokseen. Koontiversio tarkastelee luonnos sisältää tarvittavien polkujen lisäämisen.
- @MikaelPatel Pääpiirrokseni sisältää sekä SerialRenderer.h että MenuSystem.h, mutta saan saman virheen riippumatta siitä, onko MenuSystem.h mukana.
- Myös versio on tärkeä.