Accueil > Forum > > > > compilation des .h
compilation des .h
samedi 9 février 2008 à 18:35:41 |
compilation des .h

jannoman
|
Bonjour. Voila mon probleme : j'ai écrit peut être 6 ou 7 classes différentes dans des fichiers .h (et pas juste les prototypes / déclarations, mais aussi le code) et je n'ai donc aucun *.cpp à part main.cpp où tout au début je fais include #"....h" pour chacun des fichiers. Ca marche, mais j'aimerais quand meme comprendre ce qu'il faut faire pour que ca marche avec d'un coté le .h et de l'autre le cpp. Il faut savoir que les .h sont tous plus ou moins reliés, puisqu'il y a des classes virtuelles/interfaces, et d'autres qui dérivent. Un autre probleme est aussi que j'ai une classe A, dont dérivent B et C, et que B peut avoir besoin de créer des objets C et C des objets B. MAis comme il faut bien faire un include avant l'autre, ca passe pas. Merci d'avance de me répondre. A+. Thomas.
|
|
samedi 9 février 2008 à 19:00:10 |
Re : compilation des .h

ghuysmans99
|
Réponse acceptée !
Tout d'abord, il ne faut surtout pas mettre le code dans le .h Il le mettre dans le .cpp et les définitions (variables, structures (struct & classes), #define & co., ...) dans le .h Ensuite, dans chaque fichier .cpp qui a besoin de cela, il suffit de faire #include "leh.h" et tout ira bien. Si tu fais une classe qui hérite d'une autre, même chose : tu inclus le .h de la classe. J'espère t'avoir éclairé  _______________________________________________________________________VB.NETis good ...VB6is better
|
|
samedi 9 février 2008 à 22:18:29 |
Re : compilation des .h

vecchio56
|
Réponse acceptée !
Pour être précis, les définitions se font dans un .cpp, ce sont les déclarations qui se font dans le .h. Mais l'inverse est tout a fait possible : on peut mettre du code dans des .h, c'est même nécessaire dans le cas des classes templates, et c'est judicieux pour les méthodes simples qui seront inlinées. Pour les problèmes de dépendances en les classes B et C, il suffit de juste inclure C.h dans B.cpp et B.h dans C.cpp. Si tu as besoin de C dans B.h et de B dans C.h, tu peux effectuer une simple déclaration de la classe C dans B.h (ou l'inverse). _____________________________________ Un éditeur de ressources gratuit pour Windows
|
|
dimanche 10 février 2008 à 14:45:51 |
Re : compilation des .h

jannoman
|
Ca marche presque mais c'est quand meme très compliqué à gérer, car le compilateur me crée beaucoup d'erreurs (en fait, aucune erreur à la compilation, mais des erreurs à la phase "build"), en particulier il me dit qu'il y a des redéfinitions de classe. c'est possible de vous envoyer le code ? il ne reste qu'une erreur impossible à déceler vu qu'elle est là au build mais pas a la compilation merci Thomas
|
|
dimanche 10 février 2008 à 14:53:37 |
Re : compilation des .h

jannoman
|
ah non finalement c'est bon ! désolé mais c'est quand meme pas
aussi simple que c'est décrit dans les livres, dès qu'on a plusieurs
classes imbriquées et que plusieurs classes sont partagées.
en
fait, si la classe a nécessite la classe b (même dans les arguments des
fonctions) et bien chose étrange, il faut inclure "b.h" dans a.cpp et
non pas dans a.h (ce que disait vecchio56)
|
|
dimanche 10 février 2008 à 15:08:27 |
Re : compilation des .h
|
Cette discussion est classée dans : probleme, fichiers, compilation, classes, cpp
Répondre à ce message
Sujets en rapport avec ce message
Probleme avec ajout de fichiers sur MFC [ par wannalurn ]
Bonjourau fait je suis en train de faire une interface MFC dans laquelle je dois inclure des fichiers *.cpp et *.h; les fichiers *.cpp se compilent bi
probleme avec string [ par slyfer07 ]
Bonjour tout le monde,je débute en C++ et je suis en train de réaliser mon premier projet (j'utilise DevC++). Celui-ci comprend mon main.cpp, ainsi qu
Probleme de compilation Qt avec Dev-cpp [ par julien_boss ]
Bonjour, bon le probleme n'est pas que je n'arrive absolument pas à compiler Qt avec dev-cpp. Seulement, à la compilation du tutorial n°7 de la docum
Prob de déclaration et d'utilisation de variables ds plusieurs fichiers [ par julien_boss ]
Bonjour, probleme de débutant mais je séche :/ J'ai mon fichier main.cpp, et deux autres : calc.h et calc.cpp j'inclus dans les 2 fichiers .cpp le fi
Compilation OK, Execution NOK [ par fredsor ]
Salut a tous, J'ai réalisé un programme en C (win32) sous embedded visual c++, pour un pocket PC, donc windows CE. Cependant, le programme est égaleme
les chaines en probleme de compilation [ par flofloo ]
bonjour voila une parti d'un code qui me cree des souci je travaille sous devcpp,........scanf("%c",&vcp);if(vcp=="rabat"){prinft("belle ville");}else
Probleme de chaine [ par jb212121 ]
Bonjour à tous,Je suis en train de faire un petit programme en c et je souhaiterai utilisé un pointeur de caractere mais dev cpp me sort cette erreur
probleme compilation opengl [ par nicolovitch ]
bonjour a tous, voila mon nouveau probeme, je voudrais utilier la bibliotheque opengl, mais visual C++ m'indique u probleme de compilation, pourkoi
MFC ? Problème lors de compilation [ par michmichman ]
Bon je vous explique mon probleme qui n'est pas en rapport avec la programmation mais plutot la compilation, j'aimerais utiliser des parties d'un logi
HELP ! probleme dans une fct pour compression [ par ryoussef19 ]
Bonjour, j'ai un probleme vraiment urgent !voila je cherche une fonction qui me permet de compresser un fichier en un fichier , j'utilise les deux fo
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|