erreur librairie multiple définition

Bonjour,

Je suis actuellement face à un problème. J'ai un code conséquent avec lequel je souhaite créer une librairie mais l'IDE considère que je définie plusieurs fois mes fonction.

libraries/Lum_feu/Lum_feu.cpp.o (symbol from plugin): In function Lum_feu::Lum_feu(int, float, float, float, float, int, int, int, int, int, int, int, int)': (.text+0x0): multiple definition of Lum_feu::Lum_feu(int, float, float, float, float, int, int, int, int, int, int, int, int)'
sketch/Lum_feu.cpp.o (symbol from plugin):(.text+0x0): first defined here
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld: Disabling relaxation: it will not work with multiple definitions
libraries/Lum_feu/Lum_feu.cpp.o (symbol from plugin): In function Lum_feu::Lum_feu(int, float, float, float, float, int, int, int, int, int, int, int, int)': (.text+0x0): multiple definition of Lum_feu::Lum_feu(int, float, float, float, float, int, int, int, int, int, int, int, int)'
sketch/Lum_feu.cpp.o (symbol from plugin):(.text+0x0): first defined here
libraries/Lum_feu/Lum_feu.cpp.o (symbol from plugin): In function Lum_feu::Lum_feu(int, float, float, float, float, int, int, int, int, int, int, int, int)': (.text+0x0): multiple definition of Lum_feu::BeginLum()'
sketch/Lum_feu.cpp.o (symbol from plugin):(.text+0x0): first defined here
libraries/Lum_feu/Lum_feu.cpp.o (symbol from plugin): In function Lum_feu::Lum_feu(int, float, float, float, float, int, int, int, int, int, int, int, int)': (.text+0x0): multiple definition of Lum_feu::initialNeo()'
sketch/Lum_feu.cpp.o (symbol from plugin):(.text+0x0): first defined here
libraries/Lum_feu/Lum_feu.cpp.o (symbol from plugin): In function Lum_feu::Lum_feu(int, float, float, float, float, int, int, int, int, int, int, int, int)': (.text+0x0): multiple definition of Lum_feu::DivA(int, int, int)'
sketch/Lum_feu.cpp.o (symbol from plugin):(.text+0x0): first defined here
libraries/Lum_feu/Lum_feu.cpp.o (symbol from plugin): In function Lum_feu::Lum_feu(int, float, float, float, float, int, int, int, int, int, int, int, int)': (.text+0x0): multiple definition of Lum_feu::DivB(int, int, int)'
sketch/Lum_feu.cpp.o (symbol from plugin):(.text+0x0): first defined here
libraries/Lum_feu/Lum_feu.cpp.o (symbol from plugin): In function Lum_feu::Lum_feu(int, float, float, float, float, int, int, int, int, int, int, int, int)': (.text+0x0): multiple definition of Lum_feu::DivC(int, int, int)'
sketch/Lum_feu.cpp.o (symbol from plugin):(.text+0x0): first defined here
libraries/Lum_feu/Lum_feu.cpp.o (symbol from plugin): In function Lum_feu::Lum_feu(int, float, float, float, float, int, int, int, int, int, int, int, int)': (.text+0x0): multiple definition of Lum_feu::DivD(int, int, int)'
sketch/Lum_feu.cpp.o (symbol from plugin):(.text+0x0): first defined here
libraries/Lum_feu/Lum_feu.cpp.o (symbol from plugin): In function Lum_feu::Lum_feu(int, float, float, float, float, int, int, int, int, int, int, int, int)': (.text+0x0): multiple definition of Lum_feu::Main()'
sketch/Lum_feu.cpp.o (symbol from plugin):(.text+0x0): first defined here
libraries/Lum_feu/Lum_feu.cpp.o (symbol from plugin): In function Lum_feu::Lum_feu(int, float, float, float, float, int, int, int, int, int, int, int, int)': (.text+0x0): multiple definition of Lum_feu::NumDiv(int)'
sketch/Lum_feu.cpp.o (symbol from plugin):(.text+0x0): first defined here
collect2: error: ld returned 1 exit status
exit status 1
Erreur de compilation pour la carte Arduino/Genuino Mega or Mega 2560

Quelqu'un aurait une idée? Je n'arrive pas à trouver pourquoi.

PS= ci-joint le code .zip avec fichier .ino .cpp et .h

Bib_Lum_feu_V6.zip (4.1 KB)

peux-tu editer ton message et mettre les messages d'erreur entre balise ? car là c'est illisible.

merci

tu n'a pas ton code copié en plusieurs endroits ? on dirais que l'IDE a compilé plusieurs fichiers Lum_feu.cpp, un situé dans libraries/Lum_feu/Lum_feu.cpp et un dans sketch/Lum_feu.cpp

Si c'est bien le cas, il faut t'arranger pour n'en avoir qu'un.

Sinon en regardant vite fait ton code, il me semble qu'en remplaçant toute ta collection d'entiers aleX par un tableau, tu pourrais grandement simplifier le code, plutôt que d'avoir plus de 10 fois le même bloc de code avec juste le nom des variables qui change faire une fonction qui prend en paramètre les index correspondant aux case du tableau dont tu as besoin

Bonjour,
Merci pour l'idée du tableau afin de simplifier le code je vais essayer et si non c'est bon le problème venait du fait que j'avais le .cpp et le .h dans mon .ino et que je le rappelais en incluant la bibliothèque.