Problème #include

casanoveg Messages postés 17 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 19 janvier 2005 - 8 janv. 2005 à 21:29
casanoveg Messages postés 17 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 19 janvier 2005 - 11 janv. 2005 à 20:27
Je souhaitais faire ma première demo pour un jeu qui me tient à coeur,
mais j'ai un problème avec les #include. J'ai voulu faire mon programme
sur plusieurs fichiers, et donc utiliser #include "fichierperso.h".
L'utilisation des <> pour inclure les bibliothèques fonctionnent,
mais les "" pour inclure mes fonctions perso ne fonctionnent pas.

Je programme avec Dev-c++ 4.9.8.0 et la bibliothèque Allegro.



J'espère sortir de ce problème, parce que je ne souhaite pas faire un
programme dans un seul fichier, la démo devant grandir pour devenir un
jeu complet au fil du temps.


A bientôt !
Le passionné de la prog en c++ :)

4 réponses

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
8 janv. 2005 à 22:57
Hm, détail un peu, tu as mis quoi dans tes .h ? Ils sont bien dans le répertoire courant ?

Tu mis quoi dans tes cpp ?
0
casanoveg Messages postés 17 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 19 janvier 2005
9 janv. 2005 à 11:08
Dans mes .h je mets mes fonctions, un fichier pour les fonctions
déplacement clavier, action clavier, action souris, un autre fichier
pour les fonctions animation, timer d'animation, affichage, un autre
pour les déclaration, une sorte de bibliothèque perso pour pas
encombrer mon fichier principal. Dans mon fichier principale, le seul
.cpp, je mets la fonction int main() qui installe les fonctions
Allegro, et execute mes fonctions perso dans une boucle while.

Le programme fonctionne si tout est placé dans ce fichier, mais mon
problème vient uniquement de l'utilisation des "" avec un include. Mes
fichiers sont dans le même dossier que le fichier principal, pour
commencer. Par la suite je souhaite intégrer des noms de dossier pour
que le prog retrouve les fichiers soigneusement rangé. Mais pour
l'instant, j'ai tout mis dans le même dossier.



Lorsque je compile, la ligne 2 où j'ai placé mon include : #include "matrice.h" : devient rouge et le compilo m'indique ceci :

2 | C:\Votre empire\main.cpp | In file included from main.cpp

| C:\Votre empire\matrice.h
| [Warning] In function `void
fonction_grille()':



void fonction_grille() c'est le nom de la fonction se trouvant dans le fichier que je souhaite inclure.

Le passionné de la prog en c++ :)
0
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
9 janv. 2005 à 17:55
Faut jamais mettre de fonctions dans des .h, à tous les coups tu es
victime d'un truc comme "multiple definitions of function XXX" non ?



Remède : met les variables et le code de tes fonctions dans un .c à
part, et dans ton .h ne garde que les déclarations de tes
variables/fonctions avec la directive "extern", qui indique que la
fonction/variable est dans un autre fichier que celui dans lequel elle
apparait.
0
casanoveg Messages postés 17 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 19 janvier 2005
11 janv. 2005 à 20:27
A y est mon problème est résolu, merci pour votre aide :)

J'ai mis mes déclarations dans un .h et l'ai inclut avant le fichier où
ce trouve mes fonctions. C'était vraiment une erreur bêbête, le compilo
lisait ma fonction avant d'avoir lu mes déclarations, puisque ces
derniers étaient dans le fichier principal, écrit après l'inclusion
évidement



Je suis content de pouvoir programmer tout en respectant mon petit rangement, c'est plus pratique

A +

Le passionné de la prog en c++ :)
0
Rejoignez-nous