La compilation du SDK avec µVision Keil échoue (erreur L62421)

Question :

J'essaie de compiler le SDK à l'aide du compilateur Keil µVision, mais j'obtiens l'erreur L62421.

Mon microcontrôleur dispose d'un cœur pris en charge.

 

Réponse :

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 est un mot-clé C/C++ pour un type de caractère large, utilisé pour stocker des caractères au-delà du jeu ASCII de base, représentant souvent l'Unicode (comme l'UTF-16 sous Windows ou l'UTF-32 ailleurs) pour le texte international, dont la taille réelle (généralement 2 ou 4 octets) dépend du compilateur et de la plateforme, ce qui permet la prise en charge de jeux de caractères plus étendus et de chaînes de caractères étendues (comme std::wstring). 

Pour résoudre cette incompatibilité, il convient de modifier les options suivantes dans Keil :

  • Décochez l'option « Short enums/wchar ».

  • Ajoutez « -fshort-enums » dans la section « Commandes diverses ».



Laisser un commentaire