为 "IRremote.h" 找到了多个库

Multiple libraries were found for "IRremote.h"

我正在尝试在 esp-8266 板上安装红外接收器。

我正在研究 Mac OS。全新安装 Arduino IDE。在编译任何测试之前已经删除了 Java/libraries/RobotIRremote 文件夹。我仍然有同样的错误。

#include <IRremote.h>
int RECV_PIN = 13;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  Serial.begin(115200);
  irrecv.enableIRIn(); // Start the receiver
}

void loop()
{
  if (irrecv.decode(&results))
    {
     Serial.println(results.value, HEX);
     irrecv.resume(); // Receive the next value
    }
}
Multiple libraries were found for "IRremote.h"

我认为问题不是板子,因为没有上传任何东西。 错误发生在最开始。

很可能与 Arduino IDE 附带的机器人 IR 控制库发生冲突。 Arduino 不知道该用哪一个。 如果您不需要它,请将其删除或更改其中一个库以消除任何命名冲突。

进入首选项(文件 => 首选项)并检查 "Show Verbose Output During" "Compilation"。

这将为您提供有关警告的更多信息。这不是错误,因为您可以有多个同名的库。文件 irremote.h 可以位于不同的文件夹中,但只有在详细模式下才能获得更多信息。

编译后,您将获得如下信息:
- 找到多个库
- 路径 XXXX
上的图书馆 1 - 路径 YYYY 上的库 2
- 编译器将在路径 XXXX 上获取库(例如)。

我认为 Java/libraries/RobotIRremote 上的库没有被使用。 Arduino IDE 将在 2 个文件夹中检查库:
- 安装文件夹(与 Arduino IDE 一起安装的库)
- 用户文件夹 (Users/YOURNAME/Documents/Arduino/libraries)

然后在 windows 下还有一个用于您的开发板的文件夹,例如在 %APPDATA%/../local/Arduino15/packages/esp8266/hardware/esp8266/2.5.2/libraries 中。

如果 IDE 正在使用正确的库(可能是),您可以忽略此警告消息。

编辑:如果您对 ESP 使用红外遥控器,请检查此库:IRRemoteESP8266