Bonjour à toutes et à tous,
Dans mon application de routeur, j'ai une variable const uint8_t nbPt = 48; définie dans un fichier mesures.h. Je me sers de cette variable dans ce fichier .h et le mesures.cpp qui va avec. Je me sers aussi ce cette variable dans le fichier .ino qui, lui possède un #include vers ce fichier mesures.h. Tout ça se compile et fonctionne très bien.
Je voudrais déplacer cette variable dans un fichier Utils.h car j'en aurais aussi besoin dans ce fichier.
Ce que je fais alors :
- Je place cette variable dans le fichier
Utils.h, - dans le fichier
mesures.h, je place un#include "Utils.h"
et lorsque je compile le tout, j'ai tout ce qui suit :
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:22: multiple definition of `modeFct'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:22: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:21: multiple definition of `teta0Seuil'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:21: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:20: multiple definition of `teta0Min'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:20: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:19: multiple definition of `teta0Max'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:19: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:18: multiple definition of `pMaxSurplus'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:18: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:23: multiple definition of `statut0'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:23: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:24: multiple definition of `forceWiFi'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:24: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:17: multiple definition of `teta0'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:17: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:17: multiple definition of `teta1'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:17: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:11: multiple definition of `info_UIP'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:11: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:12: multiple definition of `pAonde'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:12: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:9: multiple definition of `infUIoK'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:9: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:10: multiple definition of `infUI'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:10: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:8: multiple definition of `fchHisto'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:8: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o: in function `ecritParams(String)':
E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:29: multiple definition of `ecritParams(String)'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:29: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:27: multiple definition of `params'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:27: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o: in function `litParams(String, unsigned char)':
E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:39: multiple definition of `litParams(String, unsigned char)'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:39: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:25: multiple definition of `fchParams'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:25: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:14: multiple definition of `ptsI'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:14: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:13: multiple definition of `ptsV'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:13: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:15: multiple definition of `noFch'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:15: first defined here
c:/users/prcha/appdata/local/arduino15/packages/esp32/tools/esp-x32/2302/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Routeur_PV_01_with_OTA.ino.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:16: multiple definition of `nomJour'; C:\Users\prcha\AppData\Local\arduino\sketches\2C1C85B3E085F5E39A542AE602CF36FC\sketch\Mesures.cpp.o:E:\Arduino\Projets_ChP\Routeur_PV_01_with_OTA/Utils.h:16: first defined here
collect2.exe: error: ld returned 1 exit status
Plusieurs bibliothèque trouvées pour "AsyncTCP.h"
Utilisé: E:\Arduino\libraries\AsyncTCP
Non utilisé: E:\Arduino\libraries\Async_TCP
exit status 1
Compilation error: exit status 1
Je me retrouve avec un quantité de Utils.h:22: multiple definition of suivi de Utils.h:22: first defined here ; c'est -à-dire le seul et même endroit où sont définis ces variables.NOTA : tous mes fichiers .h sont munis de
#ifndef NOMDUFICHIER_H
#define NOMDUFICHIER_H
...
#endif
Merci de votre aide.
Pierre.