Modifications

Sauter à la navigation Sauter à la recherche
1 454 octets ajoutés ,  23 mars 2020 à 23:46
Ligne 26 : Ligne 26 :     
==Projet C et C++==
 
==Projet C et C++==
À faire
+
===Explication===
 +
Lors de la création d'un projet, nous avons la possibilité de sélectionner le langage cible en tant que C++. Malheureusement, STM32CubeMX ne supporte actuellement pas ce langage. Les fichiers générés par ce dernier seront en C et en particulier le fichier main.c.
 +
 
 +
Lorsque l'on veut utiliser, ou produire du code C++, il est nécessaire que le fichier main soit en C++.
 +
La solution est alors de renommer le fichier main.c en main.cpp. Si le langage cible du projet a bien été réglé sur C++, alors le projet compilera avec succès.
 +
 
 +
Le problème se produit quand on veut regénerer le projet avec STM32CubeMX. Il va recréer un nouveau fichier main.c à coté de notre fichier main.cpp. Le nouveau code généré sera donc dans le fichier main.c et non main.cpp.
 +
 
 +
===Résolution du problème===
 +
* Fusionner les deux fichiers de manière manuelle dans main.cpp: garder la génération de STM32CubeMX présente dans le fichier main.c et garder le code présent entre toutes les balises du fichier main.cpp.
 +
* Exclure le fichier main.c du build: clic droit sur main.c > Ressource Configurations > Exclude from build. Ceci indiquera au compilateur de ne pas compiler ce fichier. Il compilera néanmoins main.cpp et ne trouvera pas de conflit.
 +
 
 +
===Notes===
 +
Il est possible que ce problème ne soit plus suite à des futures mises à jour de STM32CubeMX. Lors de la rédaction de ce guide, les projets C++ ne sont pas supportés pleinement.
    
==UART: utilisation du printf==
 
==UART: utilisation du printf==

Menu de navigation