5 years, 11 months ago.

Linker error while building mDot custom application via mbed-cli.

The mDot application builds fine in the online compiler, however I don’t believe I can generate a release build in the online compiler. So i published my application that is private and imported the application using mbed-cli and ran the following compilation command.

*mbed compile -m MTS_MDOT_F411RE -t GCC_ARM -c –profile mbed-os/tools/profiles/release.json*

I am getting linker error when attempting to build the mDot application firmware using mbed-cli. I am using libmdot 3.0 production library, mbed-os 5.4.7. Below is part of the linker error I get:

mdot linker error

Link: mTestRadioNode
./BUILD/MTS_MDOT_F411RE/GCC_ARM/mTestLib/Common/TestLora.o: In function `mDotEvent::PacketRx(unsigned char, unsigned char*, unsigned short, short, signed char, lora::DownlinkControl, unsigned char, unsigned char)’:
TestLora.cpp:(.text._ZN9mDotEvent8PacketRxEhPhtsaN4lora15DownlinkControlEhh[_ZN9mDotEvent8PacketRxEhPhtsaN4lora15DownlinkControlEhh]+0×62): undefined reference to `mts::Text::bin2hexString[abi:cxx11](unsigned char const*, unsigned long, char const*, bool, bool)’
./BUILD/MTS_MDOT_F411RE/GCC_ARM/mTestLib/Common/TestLora.o: In function `Test::TestLora::ResetLoraSettings()’:
TestLora.cpp:(.text._ZN5Test9TestLora17ResetLoraSettingsEv+0x9c): undefined reference to `mDot::getReturnCodeString[abi:cxx11](long const&)’
TestLora.cpp:(.text._ZN5Test9TestLora17ResetLoraSettingsEv+0xe0): undefined reference to `mDot::getReturnCodeString[abi:cxx11](long const&)’

I am guessing this is because the libmDot-mbed5 is not getting linked. Do i have to anything specific to ensure its linked?

Thanks, Ajay

Question relating to:

The MultiConnect® mDot™ offers significantly longer range and improved radio performance compared to traditional wireless solutions—resulting in greater transmission range and reduced capital expense.

1 Answer

5 years, 11 months ago.

Hello Ajay,

I also got the same errors when compiling with the GCC ARM toolchain. Can you try using a different toolchain, like the ARM compiler 5? Using that, I was able to successfully compile and create the binary for an mDot program using the mbed-cli. Let us know if you have any more questions!

-Karen, team Mbed

If this solved your question, please make sure to click the "Thanks" link below!