无法使用Arduino IDE上的Metro Library进行编译(1.8.2)" --------"

时间:2017-12-14 05:46:06

标签: arduino microsoft-metro multiple-definition-error

我很难在Arduino IDE(1.8.2)上使用Metro Library编译我的代码。错误消息如下。请帮忙。

  

/var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/libraries/Metro/Metro.cpp.o(来自插件的符号):在函数Metro::Metro()': (.text+0x0): multiple definition of Metro :: Metro()'   /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/sketch/Metro.cpp.o(来自插件的符号):(。text + 0x0):首先在这里定义   /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/libraries/Metro/Metro.cpp.o(来自插件的符号):在函数Metro::Metro()': (.text+0x0): multiple definition of Metro :: Metro()'   /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/sketch/Metro.cpp.o(来自插件的符号):(。text + 0x0):首先在这里定义   /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/libraries/Metro/Metro.cpp.o(来自插件的符号):在函数Metro::Metro()': (.text+0x0): multiple definition of Metro :: Metro(unsigned long)'   /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/sketch/Metro.cpp.o(来自插件的符号):(。text + 0x0):首先在这里定义   /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/libraries/Metro/Metro.cpp.o(来自插件的符号):在函数Metro::Metro()': (.text+0x0): multiple definition of Metro :: Metro(unsigned long)'   /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/sketch/Metro.cpp.o(来自插件的符号):(。text + 0x0):首先在这里定义   /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/libraries/Metro/Metro.cpp.o(来自插件的符号):在函数Metro::Metro()': (.text+0x0): multiple definition of Metro :: interval(unsigned long)'   /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/sketch/Metro.cpp.o(来自插件的符号):(。text + 0x0):首先在这里定义   /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/libraries/Metro/Metro.cpp.o(来自插件的符号):在函数Metro::Metro()': (.text+0x0): multiple definition of Metro :: check()'   /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/sketch/Metro.cpp.o(来自插件的符号):(。text + 0x0):首先在这里定义   /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/libraries/Metro/Metro.cpp.o(来自插件的符号):在函数Metro::Metro()': (.text+0x0): multiple definition of Metro :: reset()'   /var/folders/5v/b9y8xywj57n8wvns5hqqsprw0000gn/T/arduino_build_836199/sketch/Metro.cpp.o(来自插件的符号):(。text + 0x0):首先在这里定义   collect2:错误:ld返回1退出状态

1 个答案:

答案 0 :(得分:0)

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

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

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

第二份副本位于文件夹中:

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

删除其中一个(我想,来自/sketch/文件夹,但这取决于你,取决于你想要做什么)。