创建自定义Arduino库时出现“未知类型名称'String'”

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),所以我认为我应该拥有最新的标准库。如果有人有任何建议,我将不胜感激。

Pet*_*eld 7

(此答案基于我们在评论中的讨论。)

问题是您的库的源文件名为*.c。这导致编译器将其视为C代码而不是C ++,这意味着它无法处理类/对象(例如String)。

命名文件*.cpp可以让编译器将其正确地视为C ++代码。