This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

linker issue, undefined reference

Hi,

just start with SEGGER Embedded and use a usb acm to setup my target

to have a clean structure I moved code from main.c to dedicated files have the USB and BSP

I create new folder in the SEGGER and add the new files. They get compiled and no warnings
But the link failed

3> Compiling 'bsphandler.c'
4> Compiling 'usbhandler.c'

1> /usr/share/segger_embedded_studio_for_arm_5.20/gcc/arm-none-eabi/bin/
ld: Output/Debug/Obj/nRFGeofence_pca10056/main.o:(.rodata.m_app_cdc_acm+0x1c):
undefined reference to `cdc_acm_user_ev_handler'
1> /usr/share/segger_embedded_studio_for_arm_5.20/gcc/arm-none-eabi/bin/ld: Output/Debug/Obj/nRFGeofence_pca10056/main.o: in function `init_cli':
1> /home/chris/devel/RF52/nRF5_SDK_17.0.2_d674dde/examples/gtsys/nRFGeofence/main.c:91: undefined reference to `bsp_event_callback'
1> /usr/share/segger_embedded_studio_for_arm_5.20/gcc/arm-none-eabi/bin/ld: Output/Debug/Obj/nRFGeofence_pca10056/main.o: in function `main':
1> /home/chris/devel/RF52/nRF5_SDK_17.0.2_d674dde/examples/gtsys/nRFGeofence/main.c:117: undefined reference to `init_bsp'
1> /usr/share/segger_embedded_studio_for_arm_5.20/gcc/arm-none-eabi/bin/ld: Output/Debug/Obj/nRFGeofence_pca10056/main.o:(.rodata.usbd_config.15191+0x4): undefined reference to `usbd_user_ev_handler'

the static functions for cdc_acm_user_ev_handler move from main.c to usbhandler.c

Where is the hint? Why does the linker hasn't usbhandler.o used?

I running the development on a x64 Linux machine, no! I do not have Windows.

Some helpful tips needed.

Regards
Chris

Parents Reply Children
No Data
Related