I jobtiens lerreur suivante en essayant de compiler mon croquis:
Dans le fichier inclus de sketch.ino: 24: 0: SerialRenderer.h: 7: erreur : nom de classe attendu avant « { » 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_
Le contenu de MenuSystem.h se trouve à https://github.com/jonblack/arduino-menusystem/blob/master/MenuSystem.h .
Il semble que linclusion de MenuSystem.h ne se produise pas lorsque SerialRenderer.h est inclus dans mon fichier de croquis principal. Jobtiens la même erreur si linclusion dans SerialRenderer.h est supprimée.
Y a-t-il quelque chose de simple qui me manque pour que le compilateur puisse « voir » MenuSystem.h?
EDIT:
Il savère que je cherchais une version plus récente de la bibliothèque arduino-menusystem que javais installée (version 2.1.1). Cette version navait pas de classe appelée MenuComponentRenderer.
Jai extrait la dernière version de https://github.com/jonblack/arduino-menusystem/tree/master et il se compile correctement.
Réponse
Cela est probablement dû au fait quune version correcte de la bibliothèque MenuSystem nest pas correctement installé. Vérifiez si vous pouvez ajouter la bibliothèque à votre croquis.
EDIT : ajouté que la version devrait également soyez correct
Commentaires
- Je peux inclure la bibliothèque dans mon croquis via Sketch > Inclure la bibliothèque. Library Manager montre également que la version 2.1.1 est installée.
- Rembember pour ajouter linclusion à lesquisse. La construction examinera lesquisse pour ajouter les chemins nécessaires.
- @MikaelPatel Mon esquisse principale comprend à la fois SerialRenderer.h et MenuSystem.h, mais jobtiens la même erreur que MenuSystem.h soit ou non inclus.
- En effet, la version est également importante.