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=== |