I Recibo el siguiente error al intentar compilar mi boceto:

En el archivo incluido en sketch.ino: 24: 0: SerialRenderer.h: 7: error : nombre de clase esperado antes 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_ 

El contenido de MenuSystem.h se puede encontrar en https://github.com/jonblack/arduino-menusystem/blob/master/MenuSystem.h .

Parece que la inclusión de MenuSystem.h no ocurre cuando se incluye SerialRenderer.h desde mi archivo de boceto principal. Recibo el mismo error si se elimina la inclusión en SerialRenderer.h.

¿Hay algo simple que me falta para que el compilador pueda «ver» MenuSystem.h?

EDIT:

Resulta que estaba viendo una versión más nueva de la biblioteca arduino-menusystem que la que había instalado (versión 2.1.1). Esa versión no tenía una clase llamada MenuComponentRenderer.

Saqué la última versión de https://github.com/jonblack/arduino-menusystem/tree/master y se compila bien.

Respuesta

Lo más probable es que se deba al hecho de que una versión correcta de la biblioteca MenuSystem no es instalado correctamente. Compruebe si puede agregar la biblioteca a su boceto.

EDIT : agregó que también la versión debe sea correcto

Comentarios

  • Puedo incluir la biblioteca en mi boceto a través de Sketch > Incluir biblioteca. Además, Library Manager muestra que la versión 2.1.1 está instalada.
  • Recuerde agregar la inclusión al boceto. La compilación buscará en el boceto incluye para agregar las rutas necesarias.
  • @MikaelPatel Mi boceto principal incluye tanto SerialRenderer.hy MenuSystem.h, pero obtengo el mismo error si MenuSystem.h es o no incluido.
  • De hecho, la versión también es importante.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *