Voila mon problème :
j'ai un projet qui contient deux fichiers .c. Dans ces deux fichiers, j'effectue un
#include "Display.h". Mon fichier Display.h est le suivant :
#ifndef __DISPLAY_H_
#define __DISPLAY_H_ #define SDATA 2 #define SCLK 3
typedef unsigned short word; typedef unsigned char byte; #pragma DATA_SEG DATA_DISPLAY const byte Add_LCD_Driver = 0x7C; const byte SubAdd_LCD_Driver = 0x0E; byte PxDR_I2C_PORT; byte PxDDR_I2C_PORT; byte PxOR_I2C_PORT; #pragma CODE_SEG DEFAULT void ECTrame_I2C_Driver(byte ByteCount,byte* MTAMPON); #endif
|
Or, lors de la compilation, il y a une erreur qui apparait disant que Add_LCD_Driver et SubAdd_LCD_Driver ont été exportés deux fois.
Je ne comprends pas pourquoi le fichier Display.h est inclu deux fois malgré le #ifndef. J'en ai conclu que le #define définissait un label seulement dans le fichier compilé et pas dans l'ensemble du projet.
Est ce que j'ai raison de penser ca ? Est ce que qqun connait une solution pour résoudre ce problème ?
Merci d'avance pour vos réponses...
Simon