Erreur de compilation : header hell
tatatatataa
Messages postés
4
Statut
Membre
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Pour un projet de C, j'ai plusieurs fichiers que je compile, et j'ai l'erreur suivante :
loadPPM.c:7:error : redefinition of 'loader'
loadPPM.c:7:error : rprevious definition of 'loader' was here
Mon loadPPM.h ressemble à ça :
#ifndef LOADPPM_H
#define LOADPPM_H
#include "loadPPM.c"
/////////////// LoadPPM ///////////////
void loader(char*, Calque*);
#endif
et le loadPPM.c :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "loadPPM.h"
// d'autres .h
void loader(char* nom, Calque* Clq) {
// toute la fonction
}
Et je comprends vraiment pas le probleme ?!
Est-ce quelqu'un aurait la solution ?
Pour un projet de C, j'ai plusieurs fichiers que je compile, et j'ai l'erreur suivante :
loadPPM.c:7:error : redefinition of 'loader'
loadPPM.c:7:error : rprevious definition of 'loader' was here
Mon loadPPM.h ressemble à ça :
#ifndef LOADPPM_H
#define LOADPPM_H
#include "loadPPM.c"
/////////////// LoadPPM ///////////////
void loader(char*, Calque*);
#endif
et le loadPPM.c :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "loadPPM.h"
// d'autres .h
void loader(char* nom, Calque* Clq) {
// toute la fonction
}
Et je comprends vraiment pas le probleme ?!
Est-ce quelqu'un aurait la solution ?
A voir également:
- Erreur de compilation : header hell
- Iptv erreur de lecture - Forum TV & Vidéo
- Erreur s3 bbox - Forum Bbox Bouygues
- Erreur 0x80070570 ✓ - Forum Windows 10
- Erreur de lecture du canal - IPTV - Forum TV & Vidéo
- Erreur 4101 - Forum Carte graphique
3 réponses
Salut,
Enlève l'include loadPPM.c du fichier .h, ça devrait aller mieux. Et d'une manière générale, jamais de .c dans un .h.
Cdlt
Enlève l'include loadPPM.c du fichier .h, ça devrait aller mieux. Et d'une manière générale, jamais de .c dans un .h.
Cdlt
Une fonction doit être déclaré dans chaque unité (fichier compilé) où elle est utilisé mais ne doit être définie qu'une seule fois pour l'ensemble du programme.
Donc en règle générale, jamais de définition de fonction dans un .h
Donc en règle générale, jamais de définition de fonction dans un .h