Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1967 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [VC++] problème avec projet contenant plusieurs fichier .C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VC++] problème avec projet contenant plusieurs fichier .C

n°132344
grohad
Dans l'doute, frappe encore !
Posté le 29-04-2002 à 17:03:53  profilanswer
 

Salut à tous;
J'ai un problème pour faire comprendre à ce logiciel à la con  :gun: qu'une des fonctions de mon programme se trouve sur un autre fichier :
j'ai 2 fichiers .C avec 2 fichiers .H
Dans le premier .C qui contient Main(), j'appelle une fonction qui se trouve sur le 2ème fichier .C :sarcastic:  
Les includes du premier comprennent les .H des autres fichiers (il y en aura plus que 2...) mais, même s'il n'y a aucune erreur de programmation, VC++ me dit :"PacMania-Like.obj : error LNK2001: unresolved external symbol _Tab_Affich" ??? :pt1cable: Pourtant, des fois ça marche !?! C'est aberrant et je trouve plus de solutions. Pourquoi le Link me dit qu'il peut pas trouver la fonction, alors qu'elle est déclarée et définie de manière correcte ???
Aidez-moi SVP  :sweat:

mood
Publicité
Posté le 29-04-2002 à 17:03:53  profilanswer
 

n°132542
Carbon_14
Posté le 30-04-2002 à 09:27:39  profilanswer
 

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

n°132545
Carbon_14
Posté le 30-04-2002 à 09:33:23  profilanswer
 

Fausse manoeuvre.
 
Si des variables sont partagées, on peut utiliser, dans les fichiers .H des tests
#ifdef AAAA
int machin;
int bidule;
BOOL truc;
#else
extern int machin;
extern int bidule;
extern BOOL truc;
#endif
 
Ca permet d'empêcher le compilo de dire que les variables sont définies deux fois (au cas où on a besoin de AAAA.H et BBBB.H dans chaque fichier .C(PP)).
Quand il compile AAAA.C, vu que la variable AAAA est définie (sans valeur (0), elle existe), il ne considère que ce qui est dans la section #ifdef
 
Si on a plus d'un fichier mais avec variables partagées, on peut retrouver, pour tous les autres, les  
extern int machin;
extern int bidule;
extern BOOL truc;
vu que ces variables sont définies dans AAAA.H via AAAA.C
 
J'espère ne pas être trop confus. :)  
J'ai pas mal galéré avec ce genre de pb au début (autodidacte rameur :D).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [VC++] problème avec projet contenant plusieurs fichier .C

 

Sujets relatifs
[java] comment obtenir le propriétaire d'un fichier sous nt4[C / C++] un client FTP activeX pour uploader un fichier en ASYNC ?
[ASP] Probleme de connexion base de donnée sur serveur. Help!problème en Delphi5
problème en [XML+JAVASCRIPT+DOM]Compiler des fichiers asm dans un projet Visual c++
[C++] chercher un sub-chunk dans un fichier AVI ?ecriture dans un fichier en vb !
Probleme avec un script galerieSQL : Probleme entre les . et les , pour les insertions
Plus de sujets relatifs à : [VC++] problème avec projet contenant plusieurs fichier .C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR