无法在 Arduino IDE (1.8.2)"multiple definition of --------" 上使用 Metro Library 进行编译

Can't compile with Metro Library on Arduino IDE (1.8.2)"multiple definition of --------"

我正在努力使用 Arduino IDE (1.8.2) 上的 Metro 库编译我的代码。错误信息如下。请帮忙

/var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/libraries/Metro/Metro.cpp.o (symbol from plugin): In function Metro::Metro()': (.text+0x0): multiple definition ofMetro::Metro()' /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/sketch/Metro.cpp.o (symbol from plugin):(.text+0x0): first defined here /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/libraries/Metro/Metro.cpp.o (symbol from plugin): In function Metro::Metro()': (.text+0x0): multiple definition ofMetro::Metro()' /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/sketch/Metro.cpp.o (symbol from plugin):(.text+0x0): first defined here /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/libraries/Metro/Metro.cpp.o (symbol from plugin): In function Metro::Metro()': (.text+0x0): multiple definition ofMetro::Metro(unsigned long)' /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/sketch/Metro.cpp.o (symbol from plugin):(.text+0x0): first defined here /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/libraries/Metro/Metro.cpp.o (symbol from plugin): In function Metro::Metro()': (.text+0x0): multiple definition ofMetro::Metro(unsigned long)' /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/sketch/Metro.cpp.o (symbol from plugin):(.text+0x0): first defined here /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/libraries/Metro/Metro.cpp.o (symbol from plugin): In function Metro::Metro()': (.text+0x0): multiple definition ofMetro::interval(unsigned long)' /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/sketch/Metro.cpp.o (symbol from plugin):(.text+0x0): first defined here /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/libraries/Metro/Metro.cpp.o (symbol from plugin): In function Metro::Metro()': (.text+0x0): multiple definition ofMetro::check()' /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/sketch/Metro.cpp.o (symbol from plugin):(.text+0x0): first defined here /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/libraries/Metro/Metro.cpp.o (symbol from plugin): In function Metro::Metro()': (.text+0x0): multiple definition ofMetro::reset()' /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/sketch/Metro.cpp.o (symbol from plugin):(.text+0x0): first defined here collect2: error: ld returned 1 exit status

您在不同的地方有两个库副本,编译器正在这些地方寻找代码。

库的第一个副本位于文件夹中:

var/folders/.../arduino_build_836199/sketch/

第二个副本在文件夹中:

var/folders/.../arduino_build_836199/libraries/Metro/

删除其中一个(我认为是从 /sketch/ 文件夹中删除,但这取决于您,具体取决于您要执行的操作)。