I Estou recebendo o seguinte erro ao tentar compilar meu esboço:

No arquivo incluído em sketch.ino: 24: 0: SerialRenderer.h: 7: erro : nome de classe 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_ 

O conteúdo de MenuSystem.h pode ser encontrado em https://github.com/jonblack/arduino-menusystem/blob/master/MenuSystem.h .

Parece que a inclusão de MenuSystem.h não acontece quando SerialRenderer.h está incluído em meu arquivo de esboço principal. Recebo o mesmo erro se a inclusão em SerialRenderer.h for removida.

Há algo simples que estou faltando para que o compilador possa “ver” MenuSystem.h?

EDITAR:

Acontece que eu estava olhando para uma versão mais recente da biblioteca arduino-menusystem do que a que tinha instalado (versão 2.1.1). Essa versão não tinha uma classe chamada MenuComponentRenderer.

Retirei a versão mais recente de https://github.com/jonblack/arduino-menusystem/tree/master e compila bem.

Resposta

Provavelmente, é causado pelo fato de que uma versão correta da biblioteca MenuSystem não é devidamente instalado. Verifique se você pode adicionar a biblioteca ao seu esboço.

EDIT : adicionado que também a versão deve esteja correto

Comentários

  • Posso incluir a biblioteca em meu esboço através do Sketch > Incluir biblioteca. Além disso, o Library Manager mostra que a versão 2.1.1 está instalada.
  • Rembember para adicionar a inclusão ao esboço. A construção vai olhar para o esboço inclui para adicionar os caminhos necessários.
  • @MikaelPatel Meu esboço principal está incluindo SerialRenderer.h e MenuSystem.h, mas recebo o mesmo erro seja MenuSystem.h ou não incluído.
  • Na verdade, a versão também é importante.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *