Link Error : L6200E

Hi,

I am getting the following errors while building the project. If someone has the solution please let me know

linking...
.\Objects\Hello World.axf: Error: L6200E: Symbol __stdout_name multiply defined (by C:\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(sys_io.o) and .\objects\segger_rtt_syscalls_keil.o).
.\Objects\Hello World.axf: Error: L6200E: Symbol __stderr_name multiply defined (by C:\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(sys_io.o) and .\objects\segger_rtt_syscalls_keil.o).
.\Objects\Hello World.axf: Error: L6200E: Symbol _sys_close multiply defined (by C:\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(sys_io.o) and .\objects\segger_rtt_syscalls_keil.o).
.\Objects\Hello World.axf: Error: L6200E: Symbol _sys_ensure multiply defined (by C:\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(sys_io.o) and .\objects\segger_rtt_syscalls_keil.o).
.\Objects\Hello World.axf: Error: L6200E: Symbol _sys_flen multiply defined (by C:\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(sys_io.o) and .\objects\segger_rtt_syscalls_keil.o).
.\Objects\Hello World.axf: Error: L6200E: Symbol _sys_istty multiply defined (by C:\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(sys_io.o) and .\objects\segger_rtt_syscalls_keil.o).
.\Objects\Hello World.axf: Error: L6200E: Symbol _sys_open multiply defined (by C:\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(sys_io.o) and .\objects\segger_rtt_syscalls_keil.o).
.\Objects\Hello World.axf: Error: L6200E: Symbol _sys_read multiply defined (by C:\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(sys_io.o) and .\objects\segger_rtt_syscalls_keil.o).
.\Objects\Hello World.axf: Error: L6200E: Symbol _sys_seek multiply defined (by C:\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(sys_io.o) and .\objects\segger_rtt_syscalls_keil.o).
.\Objects\Hello World.axf: Error: L6200E: Symbol _sys_write multiply defined (by C:\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(sys_io.o) and .\objects\segger_rtt_syscalls_keil.o).

Parents
  • I am getting the following errors

    Have you actually read the messages?

    They tell you exactly what is wrong; eg,

    .\Objects\Hello World.axf: Error: L6200E: Symbol __stdout_name multiply defined (by C:\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(sys_io.o) and .\objects\segger_rtt_syscalls_keil.o).

    So you have multiple definitions of __stdout_name:

    • One is being provided by segger_rtt_syscalls_keil.o;
    • Another one is being provided by lib\armlib\c_w.l(sys_io.o) 

    So you need to decide which is the one to keep - and get rid of the other one!

    From the name, it looks like you are trying to add Segger RTT to a projects - yes?

    In that case, review the Segger documentation on how to do that properly; eg,

    https://wiki.segger.com/RTT

    Or contact Segger for support

    https://forum.segger.com/

Reply
  • I am getting the following errors

    Have you actually read the messages?

    They tell you exactly what is wrong; eg,

    .\Objects\Hello World.axf: Error: L6200E: Symbol __stdout_name multiply defined (by C:\Keil_v5\ARM\ARMCC\Bin\..\lib\armlib\c_w.l(sys_io.o) and .\objects\segger_rtt_syscalls_keil.o).

    So you have multiple definitions of __stdout_name:

    • One is being provided by segger_rtt_syscalls_keil.o;
    • Another one is being provided by lib\armlib\c_w.l(sys_io.o) 

    So you need to decide which is the one to keep - and get rid of the other one!

    From the name, it looks like you are trying to add Segger RTT to a projects - yes?

    In that case, review the Segger documentation on how to do that properly; eg,

    https://wiki.segger.com/RTT

    Or contact Segger for support

    https://forum.segger.com/

Children
More questions in this forum