Page 1 of 1

Undefined reference in function TD_GEOLOC_Init()

Posted: Fri Aug 12, 2016 9:40 am
by gertorro
Hi!
I was trying to add an ACC based event in my code when it would not compile any more. To be sure, I went back to the previous version of the code without the callback and tried to initialize the ACC and Geoloc with TD_GEOLOC_Init(); and TD_ACCELERO_Init();
The console reports this while compiling:
Code: Select all
11:31:29 **** Incremental Build of configuration TD1204 Release for project gosi_v01 ****
Info: Internal Builder is used for build
arm-none-eabi-gcc -DNDEBUG -DEFM32G210F128 -DMODULE_REVISION=REVISION_TD1204 "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\workspace\\gosi_v01\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdgeoloc\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdsensor\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdrf\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtddrivers\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdcore\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\emlib\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\Device\\EnergyMicro\\EFM32G\\Include" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\CMSIS\\Include" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdtools\\inc" -Os -ffunction-sections -fdata-sections -Wall -c -fmessage-length=0 -mcpu=cortex-m3 -mthumb -o "src\\gosi_v01.o" "..\\src\\gosi_v01.c"
arm-none-eabi-gcc "-T..\\..\\Device\\EnergyMicro\\EFM32G\\Source\\G++\\efm32g.ld" -Xlinker --gc-sections "-LC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdgeoloc\\GCC Release" "-LC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdtools\\GCC Release" "-LC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdsensor\\GCC Release" "-LC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdrf\\GCC Release" "-LC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdcore\\GCC Release" "-LC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\emlib\\GCC Release" "-LC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\Device\\GCC Release" -Wl,-Map,gosi_v01.map -mcpu=cortex-m3 -mthumb -o gosi_v01.elf "src\\gosi_v01.o" -ltdgeoloc -ltdtools -ltdsensor -ltdrf -ltdcore -lemlib -lDevice -lgcc -lc -lcs3 -lcs3unhosted
C:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\libtdgeoloc\GCC Release\libtdgeoloc.a(td_geoloc.o): In function `TD_GEOLOC_Init':
td_geoloc.c:(.text.TD_GEOLOC_Init+0x6): undefined reference to `TD_UBX_PARSER_Init'
td_geoloc.c:(.text.TD_GEOLOC_Init+0x12): undefined reference to `TD_UBX_PARSER_SetDataPointer'
td_geoloc.c:(.text.TD_GEOLOC_Init+0x1e): undefined reference to `TD_UBX_PARSER_SetDataPointer'
td_geoloc.c:(.text.TD_GEOLOC_Init+0x2c): undefined reference to `TD_UBX_PARSER_SetDataPointer'
td_geoloc.c:(.text.TD_GEOLOC_Init+0x38): undefined reference to `TD_UBX_PARSER_SetDataPointer'
td_geoloc.c:(.text.TD_GEOLOC_Init+0x3c): undefined reference to `TD_UBX7_Init'
td_geoloc.c:(.text.TD_GEOLOC_Init+0x94): undefined reference to `TD_FLASH_InitLogger'
C:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\libtdgeoloc\GCC Release\libtdgeoloc.a(td_accelero.o): In function `TD_ACCELERO_PowerDown':
td_accelero.c:(.text.TD_ACCELERO_PowerDown+0x1e): undefined reference to `TD_LIS3DH_Configure'
C:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\libtdgeoloc\GCC Release\libtdgeoloc.a(td_accelero.o): In function `TD_ACCELERO_Init':
td_accelero.c:(.text.TD_ACCELERO_Init+0x42): undefined reference to `TD_LIS3DH_Init'
td_accelero.c:(.text.TD_ACCELERO_Init+0x96): undefined reference to `TD_LIS3DH_ClearIRQ'
td_accelero.c:(.text.TD_ACCELERO_Init+0xda): undefined reference to `TD_LIS3DH_ClearIRQ'
C:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\libtdgeoloc\GCC Release\libtdgeoloc.a(td_accelero.o): In function `TD_ACCELERO_LowPower':
td_accelero.c:(.text.TD_ACCELERO_LowPower+0x24): undefined reference to `TD_LIS3DH_Configure'
C:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\libtdgeoloc\GCC Release\libtdgeoloc.a(td_accelero.o): In function `TD_ACCELERO_MonitorEvent__DYNAMIC':
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0x9e): undefined reference to `TD_LIS3DH_ConfigureEvent'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0xaa): undefined reference to `TD_LIS3DH_ConfigureInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0xb8): undefined reference to `TD_LIS3DH_ConfigHighPass'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0xbc): undefined reference to `TD_LIS3DH_ClearIRQ'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0xc8): undefined reference to `LIS3DH_EnableInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0xde): undefined reference to `LIS3DH_DisableInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0xe6): undefined reference to `TD_LIS3DH_ConfigureInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0x104): undefined reference to `LIS3DH_DisableInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0x10c): undefined reference to `TD_LIS3DH_ConfigureInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0x116): undefined reference to `TD_LIS3DH_ConfigureEvent'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0x11a): undefined reference to `TD_LIS3DH_ClearIRQ'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0x122): undefined reference to `TD_LIS3DH_ConfigHighPass'
C:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\libtdgeoloc\GCC Release\libtdgeoloc.a(td_accelero.o): In function `TD_ACCELERO_Power':
td_accelero.c:(.text.TD_ACCELERO_Power+0x26): undefined reference to `TD_LIS3DH_Configure'
C:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\libtdgeoloc\GCC Release\libtdgeoloc.a(td_accelero.o): In function `TD_ACCELERO_MonitorData__DYNAMIC':
td_accelero.c:(.text.TD_ACCELERO_MonitorData__DYNAMIC+0x7a): undefined reference to `LIS3DH_EnableInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorData__DYNAMIC+0x86): undefined reference to `TD_LIS3DH_ConfigureInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorData__DYNAMIC+0xb4): undefined reference to `TD_LIS3DH_SetFIFOMode'
td_accelero.c:(.text.TD_ACCELERO_MonitorData__DYNAMIC+0xd0): undefined reference to `LIS3DH_DisableInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorData__DYNAMIC+0xdc): undefined reference to `TD_LIS3DH_SetFIFOMode'
td_accelero.c:(.text.TD_ACCELERO_MonitorData__DYNAMIC+0xe0): undefined reference to `TD_LIS3DH_ClearIRQ'
collect2.exe: error: ld returned 1 exit status

11:31:30 Build Finished (took 703ms)

This are the paths in the project for eclipse under GNU C:
Captura.JPG
Captura.JPG (234.82 KiB) Viewed 2487 times


Also, I'm able to compile all the examples for the ACC/GEOLOC library.

Any idea of the cause of this behavior? Thanks for your time! ;)

Germán

Re: Undefined reference in function TD_GEOLOC_Init()

Posted: Tue Aug 16, 2016 7:08 am
by gertorro
Basically, I need a way to use both TD_Geoloc/TD_Accelero and TD_Tools on the same project. I've been trying to add the paths to the libraries to the project settings but it makes no effect.

Any Ideas?

Again, thank you for your time ;)
Regards,

Germán