C++ Arduino编译错误:为“找到多个库”;ESP8266WiFi.h"。(Wemos D1 R2迷你/ESP2866)
我正试图在ArduinoIDE中为D1 mini/ESP286板编译一个项目。 代码正在库包中使用WiFiServer:C++ Arduino编译错误:为“找到多个库”;ESP8266WiFi.h"。(Wemos D1 R2迷你/ESP2866),c++,oop,arduino,arduino-esp8266,C++,Oop,Arduino,Arduino Esp8266,我正试图在ArduinoIDE中为D1 mini/ESP286板编译一个项目。 代码正在库包中使用WiFiServer: #include <ESP8266WiFi.h> 我不知道这些是否是错误,但它们在控制台中是红色的,然后编译失败,没有明显的错误。我想知道我是否正确地包含了这些变量/全局类型的常量。在我重写所有基于类的单文件/函数方法之前,它确实编译过 我在这里上传了所有代码,如果有人想看一看,没有太多的内容: 如果我想在整个项目中使用Colors.h中定义的变量定义,我只需
#include <ESP8266WiFi.h>
我不知道这些是否是错误,但它们在控制台中是红色的,然后编译失败,没有明显的错误。我想知道我是否正确地包含了这些变量/全局类型的常量。在我重写所有基于类的单文件/函数方法之前,它确实编译过
我在这里上传了所有代码,如果有人想看一看,没有太多的内容:
如果我想在整个项目中使用Colors.h中定义的变量定义,我只需要在引用颜色变量的任何文件中包含该文件,对吗?这可能会多次包含颜色定义,但这不是:
#ifndef CLASS_H
#define CLASS_H
// "global" variables here, or class definition, etc
#endif
头文件中的方法可以防止这种情况?是的,使用guard definesThanks@Juraj,我想我在所有头文件中都使用了这个属性(见上面的repo)。不知道为什么它还在抱怨多个定义。你不能在.h中给变量赋值。值必须在.cpp中。您可以使用extern关键字使它们在.h中的其他cpp中为人所知是的,使用guard definesThanks@Juraj我想我在所有头文件中都使用了该属性(见上面的repo)。不知道为什么它还在抱怨多个定义。你不能在.h中给变量赋值。值必须在.cpp中。您可以使用extern关键字使它们在.h中的其他cpp中为人所知
#ifndef CLASS_H
#define CLASS_H
// "global" variables here, or class definition, etc
#endif