Arduino IDE - не удается связать скомпилированные подразделы в avr-gcc

Привет, сообщество StackOverflow!

Недавно я заметил, что моя Arduino IDE просто не могла скомпилировать и запустить на любой плате, от TTN Uno (который является меньшим Arduino Leonardo), ESP8266 (как в модуле, так и на WeMos), до Arduino. Uno (версия R3 SmD).

Я включил подробный вывод компиляторов в настройках IDE. и строки, на которых он вылетает, - это когда файлы .o сжимаются в окончательный .hex, который avrdude (или esptool), наконец, помещает в программируемую флеш-память, которую платы используют для работы.

Linking everything together...
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p  -o "C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309/sketch_jun27a.ino.elf" "C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309\sketch\sketch_jun27a.ino.cpp.o" "C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309\libraries\DHT-sensor-library\DHT.cpp.o" "C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309\libraries\DHT-sensor-library\DHT_U.cpp.o" "C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309\libraries\TheThingsNetwork\appData.pb.c.o" "C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309\libraries\TheThingsNetwork\deviceData.pb.c.o" "C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309\libraries\TheThingsNetwork\pb_common.c.o" "C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309\libraries\TheThingsNetwork\pb_decode.c.o" "C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309\libraries\TheThingsNetwork\pb_encode.c.o" "C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309\libraries\TheThingsNetwork\CayenneLPP.cpp.o" "C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309\libraries\TheThingsNetwork\TheThingsMessage.cpp.o" "C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309\libraries\TheThingsNetwork\TheThingsNetwork.cpp.o" "C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309\libraries\Timer\Event.cpp.o" "C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309\libraries\Timer\Timer.cpp.o" "C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309/core\core.a" "-LC:\Users\JTamez\AppData\Local\Temp\arduino_build_806309" -lm

wiring.c.o (symbol from plugin): In function `__vector_16':

(.text+0x0): multiple definition of `init'
C:\Users\JTamez\AppData\Local\Temp\arduino_build_806309\sketch\sketch_jun27a.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here


collect2.exe: error: ld returned 1 exit status

Я не уверен, почему wiring.c теперь вызывает проблемы, если он стабильно работал так долго. Это побочный эффект повреждения или его влияние на внешнюю библиотеку? Все библиотеки, которые я использую, перечислены ниже:

Using library DHT-sensor-library at version 1.3.0 in folder: C:\Program Files (x86)\Arduino\libraries\DHT-sensor-library 
Using library Adafruit_Sensor at version 1.0.2 in folder: C:\Program Files (x86)\Arduino\libraries\Adafruit_Sensor 
Using library TheThingsNetwork at version 2.5.10 in folder: C:\Users\JTamez\Documents\Arduino\libraries\TheThingsNetwork 
Using library EEPROM at version 2.0 in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM 
Using library Timer in folder: C:\Program Files (x86)\Arduino\libraries\Timer (legacy)

Любая помощь будет принята с благодарностью.


person NaturalistUbuntu    schedule 16.07.2018    source источник


Ответы (1)


Приношу извинения всем, я понял, что созданный мной метод под названием 'init ()' мешает init () внутри wiring.c

person NaturalistUbuntu    schedule 16.07.2018
comment
Еще одна отличная работа библиотек Arduino, испорченная глобальным пространством имен общими именами. - person JimmyB; 17.07.2018