begin process at 2012 02 11 16:09:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

aide include


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

aide include

dimanche 27 avril 2003 à 16:09:22 | aide include

Dalamar

Je travaille sur un petit jeu et j,ai plusieurs fichiers .h. Je suis obligé d'en inclure plusieurs dans les autres fichiers, bref, chaque fichier dépend d'autres (tout est mélangé). Quand je veux compiler, j,ai plein d'erreurs "redefinition of xxx class". Comment je peux régler ce problème? Merci


D.a.l.a.m.a.r
dimanche 27 avril 2003 à 16:16:47 | Re : aide include

BruNews

Administrateur CodeS-SourceS
t'as bien mis dans les .h
tout en haut
#ifndef NOMCLASSE_H
#define NOMCLASSE_H
// lignes definition de classe
tout en bas
#endif
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> Je travaille sur un petit jeu et j,ai plusieurs fichiers .h. Je suis obligé d'en inclure plusieurs dans les autres fichiers, bref, chaque fichier dépend d'autres (tout est mélangé). Quand je veux compiler, j,ai plein d'erreurs "redefinition of xxx class". Comment je peux régler ce problème? Merci
>
>
> D.a.l.a.m.a.r
dimanche 27 avril 2003 à 16:22:35 | Re : aide include

Dalamar

Merci pour ta réponse BruNews mais je ne connais pas bien les:

#ifndef NOMCLASSE_H
#define NOMCLASSE_H
// lignes definition de classe
tout en bas
#endif

Pourrais-tu m'expliquer leur fonctionnement?

merci!

D.a.l.a.m.a.r
dimanche 27 avril 2003 à 16:27:02 | Re : aide include

BruNews

Administrateur CodeS-SourceS
Fais exactement ce qui est mis.
Si tu as une classe "ducon" alors le .h
tout en haut
#ifndef DUCON_H
#define DUCON_H
// reste du fichier
// lignes definition de classe
tout en bas
#endif
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> Merci pour ta réponse BruNews mais je ne connais pas bien les:
>
> #ifndef NOMCLASSE_H
> #define NOMCLASSE_H
> // lignes definition de classe
> tout en bas
> #endif
>
> Pourrais-tu m'expliquer leur fonctionnement?
>
> merci!
>
> D.a.l.a.m.a.r
dimanche 27 avril 2003 à 20:32:45 | Re : aide include

bouba

hum, les truc du genre
#ifndef ....
#define ...
sont qu'assez rarement indispensable, c'est d'ailleur assez souvent utilisé a tord a mon avis et est même des fois signe d'un programmation peut organisée.
La solution pour résoudre ce problème et de créer un makefile, je pense que l'on devrait toujours utiliser un makefile pour les projet possedant plus d'un fichier. Il évitera les problème de dépendances et les redéfinition, avec lui pas desoins de faire pleins de #ifndef ....
#define ... qui alourdissent le code (en général).
Pour programmer proprement utilise les .h pour y mettre la déclaration de tes classes, et le .cpp pour définir les différentes fonctions.
Si tu ne sais pas comment procéder pour faire un makefile réponds a ce msg.
Alé, bonne prog.
A+.
Bouba



-------------------------------
Réponse au message :
-------------------------------

> Je travaille sur un petit jeu et j,ai plusieurs fichiers .h. Je suis obligé d'en inclure plusieurs dans les autres fichiers, bref, chaque fichier dépend d'autres (tout est mélangé). Quand je veux compiler, j,ai plein d'erreurs "redefinition of xxx class". Comment je peux régler ce problème? Merci
>
>
> D.a.l.a.m.a.r
dimanche 27 avril 2003 à 23:11:05 | Re : aide include

Dalamar

Merci du bon conseil Bouba! Mais je n'ai aucune idée comment procéder pour faire un makefile. Si tu pouvais m'aider... MeRcI !!!!

D.a.l.a.m.a.R
lundi 28 avril 2003 à 07:44:09 | Re : aide include

bouba

Bon, alors je ne sais pas kel compilateur tu as, je te donne un exemple avec trois fichier.
// Premier.h
class Premier
{
....
};

// Premier.cpp
#include "Premier.h"
......
//définition des fonctions de la classe Premier

//main.cpp
#include "Premier.h"
int main()
{
Premier P;
....;
return 0;
}

Voilà, pour trois fichier le makefile me donnera donc
(Le numéro des lignes ne doit pas apparaître)

1.Prog: main.obj Premier.obj
2. bcc32 main.obj Premier.obj
3.main.obj: main.cpp Premier.h
4. bcc32 -c main.cpp
5.Premier.obj: Premier.cpp Premier.h
6. bcc32 -c Premier.cpp


Bon, alors la ligne 6 compile Premier.cpp, la ligne 6 indique ces dépendances, c'est a dire que pour compiler on a besoins de Premier.cpp et Premier.h. Si par exemple on avait une autre classe Second et que premier.h aurait un #include "Second.h" dans son fichier on aurait ceci

1.Prog: main.obj Premier.obj Second.obj
2. bcc32 main.obj Premier.obj Second.obj
3.main.obj: main.cpp Premier.h Second.h
4. bcc32 -c main.cpp
5.Premier.obj: Premier.cpp Premier.h Second.h
6. bcc32 -c Premier.cpp
7.Second.obj: Second.cpp Second.h
6. bcc32 -c Second.cpp

(Bien sur il faudra remplacer bcc32 par le nom de ton compilateur, l'option -c change peut-être aussi)
Voila, pour le main en général (à la ligne 3) on met tous les .h car il inclue par l'intermédiaire des autres fichiers les autres .h.
L'avantage du Makefile est qu'il ne va pas recompiler tout le code mais seulement celui qui change, ce qui va permettre d'aller plus vite.
Tu peux ajouter des commande du DOS (sous Win) et Unix (sous Unix)

par exemple on rajoute
8. clean:
9. rm *.o // efface tous les .o sous UNIX

et en faisant "make clean" ca fé l'oppération souhaité.
Ca a aussi un avantage, ca évite d'avoir a retaper tout une ligne qui indique la compilation du prog.
Bon ton fichier doit s'appeler "makefile" et pour le lancer on fait "make" ou bien il prend un autre nom et pour le lancer on fait "make Nomfichier" mais je suis plus trop sur pour ca.
Si tu as encore des problèmes indique moi kel est le compilateur que tu utilises et envoi moi le code source, je te renverrai peut-être le makefile (si je conné un peut ton compilo).

Alé,A+.
Bouba

-------------------------------
Réponse au message :
-------------------------------

> Je travaille sur un petit jeu et j,ai plusieurs fichiers .h. Je suis obligé d'en inclure plusieurs dans les autres fichiers, bref, chaque fichier dépend d'autres (tout est mélangé). Quand je veux compiler, j,ai plein d'erreurs "redefinition of xxx class". Comment je peux régler ce problème? Merci
>
>
> D.a.l.a.m.a.r


Cette discussion est classée dans : aide, fichiers, include


Répondre à ce message

Sujets en rapport avec ce message

Descriptif des fichiers INCLUDE [ par manu ] Bonjour, je cherche qqun qui puisse me lister la liste des fichier h d'include et a quoi ils servent ?Tel que :// Fichiers à inclure#include // pour c koi les fichiers h? [ par etmerde ] je suis débutant(mais alors là, plus nul que ça tu trouves pas), et j'ai vu dans les codes c++ des trucs du genre include (machinchose.h) ou un truc d Fichiers d'aide [ par vinvay ] Où pourrais-je trouver les fichiers d'aide en français pour Borland C++ 5.0 ? [C/C++] - déclarations de fichiers .h [ par smashcfr ] Hello j'essaie de me remettre au C (sur builder), et je commence simple, en faisant des progs console. Même si je fais un tout petit prog, je le fais [Visual C++] Aide fichiers exe [ par WarioZ ] bonjour a tous,je débute en C++ et j'ai un probleme avec les fichiers exe que je cree a partir de mes codes sources...Quand je les execute a partir de aide sur les fichiers [ par dickymoe ] VinceExiste-t-il une fonction permettant de savoir si un fichier existe ?et une autre permettant de savoir si un fichier est vide ?merci Include "je_comprend_pas_grand_chose.h" [ par neodelphi ] Bonjour tout le monde... C'est la première fois que je post un message ici, arf g le trac lol Bon je viend de me mettre au C++ pour me prog un jeu en AIDE SUR C++ [ par xarier ] SALUT VOILA COMME JE DEBUTE ENcore en C++ JE NE C PAS encore plusieur chose a alors svp aider moi :-0 please :| je trouve souvent ce bout de code e systeme de fichiers [ par samder76 ] Je ne sais pas si C le bon endroit pour demander de l'aide...Je dois réaliser un système de fichier sous Unix.-La gestion des fichiers doit se faire p ecriture dans fichiers avec l'aide de structures [ par lucypher ] Je cherche comment faire une fonction permettant d'ecrire, par l'intermediaire d'une structure, dans un fichier. Je cherche egalement (et c'est encore


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,044 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales