Bonjour et bonne année à tous.
j'ai écrit un petite bibliothèque pour mon Arduino. lorsque je mets, les fichiers .cpp et .h dans le répertoire de mon sketch, tout va bien. Mais lorsque je les installe en tant que librairie, j'ai une erreur de compilation, dont voici le texte :
je ne comprends pas pourquoi...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 C:\Users\pasca\AppData\Local\arduino\sketches\F72C5994B7661A9E78E69ECE879FBFB2\sketch\Tools.cpp.o (symbol from plugin):(.text+0x0): first defined here C:\Users\pasca\AppData\Local\arduino\sketches\F72C5994B7661A9E78E69ECE879FBFB2\libraries\Tools\Tools.cpp.o (symbol from plugin): In function `lcd': (.text+0x0): multiple definition of `Tools::spaces(int)' C:\Users\pasca\AppData\Local\arduino\sketches\F72C5994B7661A9E78E69ECE879FBFB2\sketch\Tools.cpp.o (symbol from plugin):(.text+0x0): first defined here C:\Users\pasca\AppData\Local\arduino\sketches\F72C5994B7661A9E78E69ECE879FBFB2\libraries\Tools\Tools.cpp.o (symbol from plugin): In function `lcd': (.text+0x0): multiple definition of `Tools::cls()' C:\Users\pasca\AppData\Local\arduino\sketches\F72C5994B7661A9E78E69ECE879FBFB2\sketch\Tools.cpp.o (symbol from plugin):(.text+0x0): first defined here C:\Users\pasca\AppData\Local\arduino\sketches\F72C5994B7661A9E78E69ECE879FBFB2\libraries\Tools\Tools.cpp.o (symbol from plugin): In function `lcd': (.text+0x0): multiple definition of `Tools::erase()' C:\Users\pasca\AppData\Local\arduino\sketches\F72C5994B7661A9E78E69ECE879FBFB2\sketch\Tools.cpp.o (symbol from plugin):(.text+0x0): first defined here collect2.exe: error: ld returned 1 exit status exit status 1
Voici une partie de ma déclaration dans le fichier .h
Si vous pouviez m'éclairer, ce serait vraiment sympa. Je ne suis pas un pro du c++, je débute alors soyez indulgents.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 class Tools { public: void setup(); void cls(); void erase(); String spaces(int nombreEspaces); void writeln(String nouvelleLigne); void write(String ajouterALaDerniereLigne); // void write(bool booleen); void write(byte octet); void write(char caractere); void write(double flottantDoublePrecision); // void write(float Flottant); void write(int entier); void write(long entierLong); private: bool flagWrite; String ligne[nombreLignes]; String tamponLigne; };
Merci
Partager