sdr*_*all 5 string arduino libraries
我有一些通常用于不同Arduino程序的日志记录功能。由于我经常使用它们,因此我决定尝试为它们创建一个自定义库。不幸的是,编译器在头文件中崩溃并显示错误:
未知类型名称'String'
我对为什么会这样有些困惑,因为我在标头的顶部包含了标准的Arduino库(我认为应该包含String类)。整个过程如下:
#ifndef logging_h
#define logging_h
#include "Arduino.h"
void logEvent(String msg);
void debugOut(String msg);
void errOut(String err);
void document(String parameter, float value);
#endif
Run Code Online (Sandbox Code Playgroud)
我重新安装了Arduino IDE(1.0.5),所以我认为我应该拥有最新的标准库。如果有人有任何建议,我将不胜感激。
(此答案基于我们在评论中的讨论。)
问题是您的库的源文件名为*.c。这导致编译器将其视为C代码而不是C ++,这意味着它无法处理类/对象(例如String)。
命名文件*.cpp可以让编译器将其正确地视为C ++代码。