Modifications

Sauter à la navigation Sauter à la recherche
52 octets ajoutés ,  24 mars 2020 à 15:56
aucun résumé de modification
Ligne 27 : Ligne 27 :  
==Projet C et C++==
 
==Projet C et C++==
 
===Explication===
 
===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.
+
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++.  
 
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.
+
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.
+
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===
 
===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.
+
* 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.
+
* 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===
 
===Notes===

Menu de navigation