Erreur de compilation : header hell
tatatatataa
Messages postés
4
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
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
- Erreur t32 ✓ - Forum Livebox
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur upes 1025 - Forum Téléviseurs
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