Bonjour

J'ai un souci au niveau d'une constante de précompilation et d'une inclusion de fichier.
Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
#define USE_HEADER_1 1
 
#ifdef USE_HEADER_1
#include "entete1.h"
#endif
 
#ifndef USE_HEADER_1
#include "entete2.h"
#endif
Les fichiers d'entêtes entete1.h et entete2.h contiennent les mêmes prototypes de fonctions, seuls l'implémentation de ces fonctions diffèrent dans entete1.c et entete2.c

Or, lors de la compilation (j'utilise DevCpp sur Windows), le compilateur me renvoie les erreurs suivantes:

multiple definition of `<nom_de_fonction>`

... et ce, pour chaque fonction définies dans entete1.h (et également dans entete2.h, cela va de soi).

J'ai l'impression que malgré la présence ou l'absence de la constante USE_HEADER_1, le compilateur inclut quand même tous les fichiers de mon projet...