无法在 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 of
Metro::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 of
Metro::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 of
Metro::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 of
Metro::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 of
Metro::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 of
Metro::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 of
Metro::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/
文件夹中删除,但这取决于您,具体取决于您要执行的操作)。
我正在努力使用 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 of
Metro::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 functionMetro::Metro()': (.text+0x0): multiple definition of
Metro::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 functionMetro::Metro()': (.text+0x0): multiple definition of
Metro::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 functionMetro::Metro()': (.text+0x0): multiple definition of
Metro::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 functionMetro::Metro()': (.text+0x0): multiple definition of
Metro::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 functionMetro::Metro()': (.text+0x0): multiple definition of
Metro::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 functionMetro::Metro()': (.text+0x0): multiple definition of
Metro::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/
文件夹中删除,但这取决于您,具体取决于您要执行的操作)。