Compiling the SDK with µVision Keil does not work (Error L62421)

Question:

I try to compile the SDK using µVision Keil compiler and it returns error L62421.

My microcontroller has a supported core.

 

Answer:

The code in the SDK libraries (libboreas-simple-api-<MCU_ARCH>.a,  libbos-core-lib-<MCU_ARCH>.a) is compiled using a wchar_t length that differ from the size used by default in Keil:

wchar_t is a C/C++ keyword for a wide character type, used to store characters beyond basic ASCII, often representing Unicode (like UTF-16 on Windows or UTF-32 elsewhere) for international text, with its actual size (typically 2 or 4 bytes) depending on the compiler and platform, enabling support for larger character sets and wide strings (like std::wstring). 

To fix this incompatibility, the following options in Keil should be changed:

  • Uncheck “Short enums/wchar” option.

  • Add "-fshort-enums" in the “Misc Controls”.



Leave a comment