Bonjour / bonsoir à tous,
J'ai un petit problème dont je n'arrive pas à me dépatouiller. Je vous explique.
J'ai plusieurs fichiers .c qui ont besoin (sans la modifier, c'est pour de l'info) d'une même variable: dayname.
Je souhaiterais définir celle-ci dans un .h (disons dayname.h) et l'y initialiser, puis inclure ce fichier .h dans les .c:
const char *dayname={"Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"};
Et mon linker râle (warning seulement) en me disant que
Warning: Public symbol '_dayname' defined in both module A.OBJ and B.OBJ
pour chaque .c dans lequel j'inclus le .h
Et j'ai tenté de mettre un extern devant la variable dans le .h, et de faire dans un module #define extern, mais rien n'y fait.
Quelqu'un aurait-il une petite idée pour résoudre ce problème ?
D'avance merci,
Edgar.
PS: j'ai bien sur pensé à déclarer la variable dans le .h en tant que char dayname[7][9], et de faire un strcpy() des valeurs dans le .c d'initialisation, mais je ne trouve pas ça particulièrement élégant.... mais si c'est la seule solution, il faudra bien y arriver !
Partager