Erreur de compilation : header hell
tatatatataa
Messages postés
4
Statut
Membre
-
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11653 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
- Erreur upes 1025 - Forum Téléviseurs
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Une erreur s'est produite instagram ✓ - Forum Instagram
- Erreur 0x80070643 - Accueil - Windows
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