Search code examples
c++compiler-errorsarduinoplatformio

Why do PlatformIO returns a failed status without any error after compilation?


To begin, I precise that it is my first big project with PlatformIO (and C++ too), so please tell me if something is really really ugly about how I do that.

I have tried to make a project, and when I compile it with PlatformIO, I get this :

 *  Exécution de la tâche : platformio run 

Processing megaatmega2560 (platform: atmelavr; board: megaatmega2560; framework: arduino)
--------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/megaatmega2560.html
PLATFORM: Atmel AVR (4.2.0) > Arduino Mega or Mega 2560 ATmega2560 (Mega 2560)
HARDWARE: ATMEGA2560 16MHz, 8KB RAM, 248KB Flash
DEBUG: Current (avr-stub) External (avr-stub, simavr)
PACKAGES: 
 - framework-arduino-avr @ 5.1.0 
 - toolchain-atmelavr @ 1.70300.191015 (7.3.0)
LDF: Library Dependency Finder -> [I have hidden this url]
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 11 compatible libraries
Scanning dependencies...
Dependency Graph
|-- Time @ 1.6.1
|-- Robot
|-- AppsManager
|-- Time
|-- Sound
Building in release mode
Linking .pio/build/megaatmega2560/firmware.elf
.pio/build/megaatmega2560/src/apps/MainClock/MainClock.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE1'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/MainClock/MainClock.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONES'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/MainClock/MainClock.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE2'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/MainClock/MainClock.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `_log_printf(char const*, ...)'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/MainClock/MainClock.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `initSounds()'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/MainClock/MainClock.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `saveNumberInChar(char, char*)'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/MainClock/MainClock.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `daysInMonthLeap'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/MainClock/MainClock.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `daysInMonth'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/AlarmSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE1'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/AlarmSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONES'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/AlarmSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE2'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/AlarmSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `_log_printf(char const*, ...)'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/AlarmSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `initSounds()'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/AlarmSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `saveNumberInChar(char, char*)'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/AlarmSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `daysInMonthLeap'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/AlarmSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `daysInMonth'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/DateSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE1'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/DateSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONES'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/DateSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE2'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/DateSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `_log_printf(char const*, ...)'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/DateSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `initSounds()'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/DateSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `saveNumberInChar(char, char*)'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/DateSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `daysInMonthLeap'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/DateSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `daysInMonth'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/HourSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE1'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/HourSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONES'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/HourSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE2'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/HourSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `_log_printf(char const*, ...)'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/HourSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `initSounds()'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/HourSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `saveNumberInChar(char, char*)'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/HourSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `daysInMonthLeap'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/HourSettings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `daysInMonth'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/Settings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE1'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/Settings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONES'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/Settings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE2'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/Settings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `_log_printf(char const*, ...)'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/Settings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `initSounds()'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/Settings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `saveNumberInChar(char, char*)'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/Settings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `daysInMonthLeap'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/apps/Settings/Settings.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `daysInMonth'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/main.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE1'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/main.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONES'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/main.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE2'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/main.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `_log_printf(char const*, ...)'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/main.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `initSounds()'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/main.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `daysInMonthLeap'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/main.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `daysInMonth'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/robot/alarms/Alarm.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE1'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/robot/alarms/Alarm.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONES'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/robot/alarms/Alarm.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE2'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/robot/alarms/Alarm.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `initSounds()'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/robot/robot.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE1'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/robot/robot.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONES'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/robot/robot.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `ALARM_RINGTONE2'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/robot/robot.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `_log_printf(char const*, ...)'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/robot/robot.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `initSounds()'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/robot/robot.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `daysInMonthLeap'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio/build/megaatmega2560/src/robot/robot.cpp.o (symbol from plugin): In function `ALARM_RINGTONE1':
(.text+0x0): multiple definition of `daysInMonth'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
Robot.cpp.o (symbol from plugin): In function `Robot::main()':
(.text+0x0): multiple definition of `_log_printf(char const*, ...)'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
Application.cpp.o (symbol from plugin): In function `_log_printf(char const*, ...)':
(.text+0x0): multiple definition of `_log_printf(char const*, ...)'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
AppsManager.cpp.o (symbol from plugin): In function `_log_printf(char const*, ...)':
(.text+0x0): multiple definition of `_log_printf(char const*, ...)'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
Time.cpp.o (symbol from plugin): In function `LocalTime::LocalTime()':
(.text+0x0): multiple definition of `daysInMonthLeap'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
Time.cpp.o (symbol from plugin): In function `LocalTime::LocalTime()':
(.text+0x0): multiple definition of `daysInMonth'
.pio/build/megaatmega2560/src/apps/BackgroundAlarm/BackgroundAlarmApplication.cpp.o (symbol from plugin):(.text+0x0): first defined here
/tmp/cc3ktu15.ltrans0.ltrans.o: In function `main':
<artificial>:(.text.startup+0x2f8): undefined reference to `robotTime::makeTime(robotTime::tmElements_t const&)'
collect2: error: ld returned 1 exit status
*** [.pio/build/megaatmega2560/firmware.elf] Error 1
================= [FAILED] Took 0.96 seconds =================

 *  Arrêt du processus de terminal "platformio 'run'". Code de sortie : 1. 
 *  Le terminal sera réutilisé par les tâches, appuyez sur une touche pour le fermer. 

Everything else than the beggining and the end :

collect2: error: ld returned 1 exit status // in red
*** [.pio/build/megaatmega2560/firmware.elf] Error 1
================= [FAILED] Took 0.96 seconds =================

 *  Arrêt du processus de terminal "platformio 'run'". Code de sortie : 1. 
 *  Le terminal sera réutilisé par les tâches, appuyez sur une touche pour le fermer. 

is yellow, so I imagine that there is really no error.

SO why do I get a 1 status (failed)? What can I do?

Here is my platformio.ini file if wanted :

; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env:megaatmega2560]
platform = atmelavr
board = megaatmega2560
framework = arduino

lib_deps =
    Time

Solution

  • Read the very message why the linker is failing:

    /tmp/cc3ktu15.ltrans0.ltrans.o: In function `main':
    <artificial>:(.text.startup+0x2f8): undefined reference to `robotTime::makeTime(robotTime::tmElements_t const&)'
    collect2: error: ld returned 1 exit status
    

    Hence robotTime::makeTime with respective signature is missing. From the diagnostics alone we cannot conclude why the error occurs.

    • Some module is missing in the link.
    • Wrong linkage / visibility
    • Typo in the prototype / signature
    • ...