I 이전에 예상되는 클래스 이름 스케치를 컴파일 할 때 다음 오류가 발생합니다.
sketch.ino에서 포함 된 파일 : 24 : 0 : SerialRenderer.h : 7 : 오류 : “{“토큰 앞에 예상되는 클래스 이름
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_
.
주 스케치 파일에 SerialRenderer.h가 포함되어 있으면 MenuSystem.h가 포함되지 않는 것 같습니다. SerialRenderer.h의 포함이 제거되면 동일한 오류가 발생합니다.
컴파일러가 MenuSystem.h를 “볼”수있는 간단한 것이 있습니까?
편집 :
내가 설치 한 것보다 최신 버전의 arduino-menusystem 라이브러리를 찾고있었습니다 (버전 2.1.1). 이 버전에는 MenuComponentRenderer라는 클래스가 없습니다.
https://github.com/jonblack/arduino-menusystem/tree/master a에서 최신 버전을 가져 왔습니다. > 그리고 잘 컴파일됩니다.
답변
올바른 버전의 MenuSystem 라이브러리가 올바르지 않기 때문일 가능성이 높습니다. 제대로 설치되었습니다. 스케치에 라이브러리를 추가 할 수 있는지 확인합니다.
편집 : 버전도 정확해야합니다.
댓글
- 스케치 > 라이브러리 포함을 통해 스케치에 라이브러리를 포함 할 수 있습니다. 또한 라이브러리 관리자는 버전 2.1.1이 설치되어 있음을 보여줍니다.
- 스케치에 포함을 추가해야합니다. 빌드는 필요한 경로를 추가하기 위해 스케치 포함을 살펴 봅니다.
- @MikaelPatel 내 기본 스케치에는 SerialRenderer.h와 MenuSystem.h가 모두 포함되어 있지만 MenuSystem.h가 있는지 여부에 관계없이 동일한 오류가 발생합니다.
- 실제로 버전도 중요합니다.