[c++] Problème de compilation
Résolu
GafouZ
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
lirey83 Messages postés 75 Date d'inscription Statut Membre Dernière intervention -
lirey83 Messages postés 75 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
Désolé de demander encore votre aide mais j'ai enfin bien avancer dans mon projet et voilà que je retombe sur un problème....grrr !
Voilà le truc le projet que je voudrais rassembler contient:
2 Serveur TCP et leur .h
1 client et son .h
1 fichier de calcul RObuSimul.cpp et son .h
et RobuLAB.cpp qui contient mon main(int argv....
J'ai donc un make file:
all: essai
essai: RobuSimul.o ServeurTCP9988.o ServeurTCP9999.o ClientTCP.o Robulab.o
g++ -o essai RobuSimul.o Robulab.o ServeurTCP9988.o ServeurTCP9999.o ClientTCP.o
RobuSimul.o: RobuSimul.cpp RobuSimul.h
g++ -o RobuSimul.o -c RobuSimul.cpp -Wall -ansi
ServeurTCP9988.o: ServeurTCP9988.cpp ServeurTCP9988.h
g++ -o ServeurTCP9988.o -c ServeurTCP9988.cpp
ServeurTCP9999.o: ServeurTCP9999.cpp ServeurTCP9999.h
g++ -o ServeurTCP9999.o -c ServeurTCP9999.cpp
ClientTCP.o: ClientTCP.cpp ClientTCP.h
g++ -o ClientTCP.o -c ClientTCP.cpp
Robulab.o: Robulab.cpp
g++ -o Robulab.o -c Robulab.cpp -Wall -ansi
Et quand je compil le tout il me dit :
$ make
g++ -o Robulab.o -c Robulab.cpp -Wall -ansi
RobuSimul.h:41: error: conflicting declaration ‘typedef struct LAB80FeedbackStruct LAB80FeedbackStruct’
RobuSimul.h:41: error: ‘LAB80FeedbackStruct’ has a previous declaration as ‘typedef struct LAB80FeedbackStruct LAB80FeedbackStruct’
RobuSimul.h:79: error: conflicting declaration ‘typedef struct Coordonnees Coordonnees’
RobuSimul.h:79: error: ‘Coordonnees’ has a previous declaration as ‘typedef struct Coordonnees Coordonnees’
RobuSimul.h:81: error: redefinition of ‘class RobuSimul’
RobuSimul.h:82: error: previous definition of ‘class RobuSimul’
RobuSimul.h:41: error: conflicting declaration ‘typedef struct LAB80FeedbackStruct LAB80FeedbackStruct’
RobuSimul.h:41: error: ‘LAB80FeedbackStruct’ has a previous declaration as ‘typedef struct LAB80FeedbackStruct LAB80FeedbackStruct’
RobuSimul.h:79: error: conflicting declaration ‘typedef struct Coordonnees Coordonnees’
RobuSimul.h:79: error: ‘Coordonnees’ has a previous declaration as ‘typedef struct Coordonnees Coordonnees’
RobuSimul.h:81: error: redefinition of ‘class RobuSimul’
RobuSimul.h:82: error: previous definition of ‘class RobuSimul’
RobuSimul.h:41: error: conflicting declaration ‘typedef struct LAB80FeedbackStruct LAB80FeedbackStruct’
RobuSimul.h:41: error: ‘LAB80FeedbackStruct’ has a previous declaration as ‘typedef struct LAB80FeedbackStruct LAB80FeedbackStruct’
RobuSimul.h:79: error: conflicting declaration ‘typedef struct Coordonnees Coordonnees’
RobuSimul.h:79: error: ‘Coordonnees’ has a previous declaration as ‘typedef struct Coordonnees Coordonnees’
RobuSimul.h:81: error: redefinition of ‘class RobuSimul’
RobuSimul.h:82: error: previous definition of ‘class RobuSimul’
Robulab.cpp: In function ‘int main(int, char**)’:
Robulab.cpp:28: error: ‘Serv9988’ was not declared in this scope
Robulab.cpp:29: error: ‘Serv9999’ was not declared in this scope
Robulab.cpp:30: error: ‘Client’ was not declared in this scope
make: *** [Robulab.o] Erreur 1
Mais voilà j'ai beau cherché je vois pas pourquoi il me dit confilcting Déclaration je n'est déclaré mes fonction que dans le point .h.
Ce que je fai dans mon main c'est créer un objet de la classe!
A quoi peut correspondre "conflicting declaration"?
Merci beaucoup !
Désolé de demander encore votre aide mais j'ai enfin bien avancer dans mon projet et voilà que je retombe sur un problème....grrr !
Voilà le truc le projet que je voudrais rassembler contient:
2 Serveur TCP et leur .h
1 client et son .h
1 fichier de calcul RObuSimul.cpp et son .h
et RobuLAB.cpp qui contient mon main(int argv....
J'ai donc un make file:
all: essai
essai: RobuSimul.o ServeurTCP9988.o ServeurTCP9999.o ClientTCP.o Robulab.o
g++ -o essai RobuSimul.o Robulab.o ServeurTCP9988.o ServeurTCP9999.o ClientTCP.o
RobuSimul.o: RobuSimul.cpp RobuSimul.h
g++ -o RobuSimul.o -c RobuSimul.cpp -Wall -ansi
ServeurTCP9988.o: ServeurTCP9988.cpp ServeurTCP9988.h
g++ -o ServeurTCP9988.o -c ServeurTCP9988.cpp
ServeurTCP9999.o: ServeurTCP9999.cpp ServeurTCP9999.h
g++ -o ServeurTCP9999.o -c ServeurTCP9999.cpp
ClientTCP.o: ClientTCP.cpp ClientTCP.h
g++ -o ClientTCP.o -c ClientTCP.cpp
Robulab.o: Robulab.cpp
g++ -o Robulab.o -c Robulab.cpp -Wall -ansi
Et quand je compil le tout il me dit :
$ make
g++ -o Robulab.o -c Robulab.cpp -Wall -ansi
RobuSimul.h:41: error: conflicting declaration ‘typedef struct LAB80FeedbackStruct LAB80FeedbackStruct’
RobuSimul.h:41: error: ‘LAB80FeedbackStruct’ has a previous declaration as ‘typedef struct LAB80FeedbackStruct LAB80FeedbackStruct’
RobuSimul.h:79: error: conflicting declaration ‘typedef struct Coordonnees Coordonnees’
RobuSimul.h:79: error: ‘Coordonnees’ has a previous declaration as ‘typedef struct Coordonnees Coordonnees’
RobuSimul.h:81: error: redefinition of ‘class RobuSimul’
RobuSimul.h:82: error: previous definition of ‘class RobuSimul’
RobuSimul.h:41: error: conflicting declaration ‘typedef struct LAB80FeedbackStruct LAB80FeedbackStruct’
RobuSimul.h:41: error: ‘LAB80FeedbackStruct’ has a previous declaration as ‘typedef struct LAB80FeedbackStruct LAB80FeedbackStruct’
RobuSimul.h:79: error: conflicting declaration ‘typedef struct Coordonnees Coordonnees’
RobuSimul.h:79: error: ‘Coordonnees’ has a previous declaration as ‘typedef struct Coordonnees Coordonnees’
RobuSimul.h:81: error: redefinition of ‘class RobuSimul’
RobuSimul.h:82: error: previous definition of ‘class RobuSimul’
RobuSimul.h:41: error: conflicting declaration ‘typedef struct LAB80FeedbackStruct LAB80FeedbackStruct’
RobuSimul.h:41: error: ‘LAB80FeedbackStruct’ has a previous declaration as ‘typedef struct LAB80FeedbackStruct LAB80FeedbackStruct’
RobuSimul.h:79: error: conflicting declaration ‘typedef struct Coordonnees Coordonnees’
RobuSimul.h:79: error: ‘Coordonnees’ has a previous declaration as ‘typedef struct Coordonnees Coordonnees’
RobuSimul.h:81: error: redefinition of ‘class RobuSimul’
RobuSimul.h:82: error: previous definition of ‘class RobuSimul’
Robulab.cpp: In function ‘int main(int, char**)’:
Robulab.cpp:28: error: ‘Serv9988’ was not declared in this scope
Robulab.cpp:29: error: ‘Serv9999’ was not declared in this scope
Robulab.cpp:30: error: ‘Client’ was not declared in this scope
make: *** [Robulab.o] Erreur 1
Mais voilà j'ai beau cherché je vois pas pourquoi il me dit confilcting Déclaration je n'est déclaré mes fonction que dans le point .h.
Ce que je fai dans mon main c'est créer un objet de la classe!
A quoi peut correspondre "conflicting declaration"?
Merci beaucoup !
A voir également:
- [c++] Problème de compilation
- Breach compilation c'est quoi - Guide
- Compilation error: expected unqualified-id before '{' token ✓ - Forum C++
- Problème Compilation Dev-C++ - Forum C++
- Erreur de compilation projet ou bibliothèque introuvable - Forum Excel
- Problème de compilation et d'execution en C - Forum C
1 réponse
Salut,
Le message d'erreur semble clair : redéclaration de LAB80FeedbackStruct.
Plusieurs causes possibles :
- utilisation de ton .h dans plusieurs unitées sans avoir mis de define pour éviter les inclusions multiples, du genre :
#ifndef toto
#define toto
.... le contenu de ton fichier h
#endif
- pas de namespace : cela permet de restreindre la portée des objets
- erreur dans l'utilisation de ta structure
- ...
Le message d'erreur semble clair : redéclaration de LAB80FeedbackStruct.
Plusieurs causes possibles :
- utilisation de ton .h dans plusieurs unitées sans avoir mis de define pour éviter les inclusions multiples, du genre :
#ifndef toto
#define toto
.... le contenu de ton fichier h
#endif
- pas de namespace : cela permet de restreindre la portée des objets
- erreur dans l'utilisation de ta structure
- ...