PlatformIO et multi fichiers

Bonjour , comme dis dans le titre , je migre sur l'utilisation de VS code et là PlatformIO ...

Je souhaiterais agencer mon code en multiple fichiers et j'ai lu pas mal de tuto de C / C++ pour cela mais je suis confronté a un soucis dont je remet ma pratique en question (bonne ou pas ? debutant of course ... )

si j'utilise une variable dans ma fonction qui sera dans un fichier "myFunction.h et myFunction.cpp" qui est déclarée en globale (main.cpp), mon compilateur me dit qu'il ne la connait pas ...

de plus , j'ai voulu utiliser la librairie "simpleMinuteur" et idem , j'ai bloqué sur comment déclarer ce "minuteur" dans le header ... (il ne voulait pas prendre le : simpleMinuteur monChronoExemple; )

je ne poste pas le code qui fait env 10 fichiers (.ino pour l'instant) mais je vous questionne sur la pratique "correcte" a réaliser ... en espérant être clair dans mon explication , je vous remercie d'avance pour votre aide :)

Déclare simplement ta variable en la précédent du mot clé extern dans ton .h

// example.cpp :
simpleMinuteur monChronoExemple;
// example.h :
extern simpleMinuteur monChronoExemple;

oh ... comme un petit mot peut tant non bloqué dans cet univers !

Merci à toi , ça ne créera pas une redéclaration of definition de cette façon j'imagine ... je teste ça au plus vite !

Bonjour,

Ça c’est une déclaration

extern int var;

Çà indique simplement au compilateur qu’il va trouver quelque part la variable var qui sera un int. Tu peux en mettre autant que tu veux, ça ne provoquera pas d’erreur.

Ca c’est une définition

int var;

Ça crée la variable var. Tu ne peux en mettre qu’une (en global) ou alors le compilateur affiche une erreur “multiple définition”