Dans les fichiers .H, les fonctions sont définies "naturellement" ? Si oui, quand il compile un module .CPP, le compilo pense que les fonctions sont toutes dans le module courant. Idem pour le second.
Quand il veut faire l'édition de lien, il a du mal à trouver les fonctions (elles ne sont pas dans le module où elles devraient être). Sous BC, ça marchouille des fois mais souvent le lieur rouspète (du genre que les fonctions sont dupliquées).
Ce que je fais dans mes projets (c'est de l'observation de code Krosoft et du try and fail/succeed)
dans le fichier AAAA.C
j'inclus les prototypes de fonctions locales à AA.C au début et je met un #define AAAA (pr l'exemple) au début, et #include "BBBB.H"
dans le fichier BBBB.C
idem avec #define BBBB (idem, pr situer les idées) et #include "AAAA.H"
A part des variables partagées, dans BBBB.H, je met
les prototypes des fonctions de AAAA.C qui servent à BBBB.C avec le mot clé "extern" devant genre
extern main(void)
et de même pour l'autre
Ca permet au compilo de savoir comment son définies les fonctions externes, de savoir qu'il n'a pas besoin de les chercher dans le module courant et qu'il les trouvera (en externe) pour les lier.
Si on a des variables partagées, on peut les mettre da
le fichier AAAA.H comporte