我在Arduino
是新来的,所以也许我的问题会很愚蠢,但我必须要问!
我为我的mqtt
芯片做了一个nodeMcu
客户端,我犯了这个错误
/Users/mikevorisis/Downloads/pubsubclient-master/examples/mqtt_esp8266/mqtt_esp8266.ino:27:26:致命错误: PubSubClient.h:没有这样的文件或目录#包括
我从github下载了原始的项目,并试图编译示例/mqtt_ and 8266中的示例,但我还是遇到了同样的问题。
我还试图将PubSubClient.h放在同一个文件夹中,但我还是遇到了同样的问题。
有什么想法吗?提前谢谢。
发布于 2017-10-03 10:02:17
您下载并包含在项目中的文件可能实际上不是头文件。您可能会从github复制它的内容,并将其粘贴到文本文档中,然后将其保存为扩展名为".h“的文本文件。
现在它有了扩展"filename.h.txt“。名称和扩展名只需为"filename.h“。使用save,并在保存时选择“所有文件”,并将其命名为"filename.h“。一定要重新键入文件名,否则它可以自动填充已经存在的"filename.h.txt“(即使您没有看到它!)。
如果该文件现在具有正确的扩展名,则将其放在与源代码文件相同的文件夹中。您可以通过在IDE中“保存为”来查看源文件所在的目录。
在这之后,您可能会遇到一个问题,就是缺少定义。您可以看到,当您以头文件的形式使用库时,每个头文件通常(在本例中是)必须伴随一个.cpp文件(不一定同名)。原因是头文件包含声明,cpp文件包含上述声明的定义。换句话说,头文件是库中可用工具的概述,cpp文件实际上实现了它的核心。
编辑:您试图运行的示例也有#include <ESP8266WiFi.h>
,这是您所引用的github存储库中不可用的文件。我假设这是一个WiFi模块的库,或者您可以在其他地方找到它(制造商、其他git,或者可能是Arduino IDE附带的?)。换句话说,您还需要将其头文件和(可能) .cpp文件添加到源目录中。
https://stackoverflow.com/questions/46541473
复制相似问题