[SOLVED] [Version 7.10] Build issues:undefined reference to stdout

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] [Version 7.10] Build issues:undefined reference to stdout

    Hello,

    I am aiming to compile a project with SES studio, version 7.10 on linux. The target is nRF52840.

    I have the following issue:

    1.
    Compiling 'SEGGER_RTT_Syscalls_SES.c'
    __vfprintf.h: No such file or directory
    Build failed

    I did some research and found the solution of removing SEGGER_RTT_Syscalls_SES.c from build system. This resolve this issue above but then there is another issue :

    2.
    Generating linker script 'PROJECT_NAME..ld'
    Linking PROJETCT_NAMEelf
    /opt/segger/segger_embedded_studio_for_arm_7.10/lib/libc_v7em_fpv4_sp_d16_hard_t_le_eabi_balanced.a(fileops.o): in function `putchar':
    fileops.c:(.text.libc.putchar+0x0): undefined reference to `stdout'
    fileops.c:(.text.libc.putchar+0x4): undefined reference to `stdout'
    /opt/segger/segger_embedded_studio_for_arm_7.10/lib/libc_v7em_fpv4_sp_d16_hard_t_le_eabi_balanced.a(fileops.o): in function `puts':
    fileops.c:(.text.libc.puts+0x2): undefined reference to `stdout'
    fileops.c:(.text.libc.puts+0x6): undefined reference to `stdout'
    fileops.c:(.text.libc.puts+0x18): undefined reference to `__SEGGER_RTL_X_file_write'
    /opt/segger/segger_embedded_studio_for_arm_7.10/lib/libc_v7em_fpv4_sp_d16_hard_t_le_eabi_balanced.a(fileops.o): in function `fwrite':
    fileops.c:(.text.libc.fwrite+0xc): undefined reference to `__SEGGER_RTL_X_file_stat'
    fileops.c:(.text.libc.fwrite+0x24): undefined reference to `__SEGGER_RTL_X_file_write'
    Build failed

    From there, I could not find any thread exactly providing a fix. SOme people have observed similar issue. It seems that reverting back to SES 5.22 will work but I would like to support more recent version of the IDE.#

    Can you please avise on path to resolution ?

    Thanks
  • Hi,

    Thank you for your inquiry.
    There were some changes in the major releases on how the I/O libraries are linked into your projects.

    So if you are porting an old project to a newer ES version you have to make sure that the correct I/O library is selected.
    For more information see here:
    wiki.segger.com/Embedded_Studio_Library_IO

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.