Bonjour,
j'ai créé un fichier def_constantes.h pour regrouper tout un ensemble de constantes dans un namespace.
J'inclus ce fichier dans mainwindow.cpp et un fichier de tests stuff.cpp:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #ifndef DEF_CONSTANTES_H #define DEF_CONSTANTES_H #include <QString> namespace Centrale { QString ip_centrale("192.168.0.100"); QString tag_t1 = "<Temperature1>"; } #endif
Et j'ai systématiquement le message:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include "stuff.h" #include "def_constantes.h" void Stuff::extraire() { int position_start; position_start = buff.find(Centrale::tag_t1.toStdString()); //buff est un attribut de la classe Centrale }
Est-ce que j'écris mal mon fichier def_constantes.h ou alors les conditions de garde ne jouent pas leur rôle?:-1: erreur : stuff.o:(.bss+0x58): multiple definition of `Teracom::tag_t1'; mainwindow.o:(.bss+0x58): first defined here
Je ne comprend pas ce qui se passe, si quelqu'un a une idée?
Merci.
Partager