PDA

Visualizza la versione completa : [C++] Errore di ridefinizione in fase di compilazione


angeldigi
31-10-2012, 14:41
Ciao,
Ho da poco ripreso a programmare in c++... sto facendo un progetto (programmazione a oggetti) e durante la compilazione mi appare più volte il seguente errore:


Setting up for TinyOS 2.x
ituser@intTestbedVM:~$ cd Prog11.12.14
ituser@intTestbedVM:~/Prog11.12.14$ g++ main.cpp -o main
In file included from main.cpp:1:
robot.h:2:36: error: libplayerc++/playerc++.h: No such file or directory
In file included from Visibility.h:4,
from topologies_set.h:5,
from robot.h:13,
from main.cpp:1:
structures.h:3: error: multiple definition of ‘enum value’
structures.h:3: error: previous definition here
structures.h:3: error: conflicting declaration ‘ACC’
structures.h:3: error: ‘ACC’ has a previous declaration as ‘value ACC’
structures.h:3: error: conflicting declaration ‘DEC’
structures.h:3: error: ‘DEC’ has a previous declaration as ‘value DEC’
structures.h:3: error: conflicting declaration ‘NP_DEC’
structures.h:3: error: ‘NP_DEC’ has a previous declaration as ‘value NP_DEC’
structures.h:5: error: redefinition of ‘struct STATE’
structures.h:6: error: previous definition of ‘struct STATE’
structures.h:10: error: redefinition of ‘struct conf_vect’
structures.h:11: error: previous definition of ‘struct conf_vect’
structures.h:23: error: redefinition of ‘struct control_vect’
structures.h:24: error: previous definition of ‘struct control_vect’
structures.h:32: error: redefinition of ‘struct vectors’
structures.h:33: error: previous definition of ‘struct vectors’
structures.h:38: error: redefinition of ‘struct ncs’
structures.h:39: error: previous definition of ‘struct ncs’

qualcuno mi sa aiutare?
Grazie!!

oregon
31-10-2012, 14:44
Non è facile con le indicazioni che hai dato.

Posta il main completo ...

angeldigi
31-10-2012, 15:17
Nel main non ho incluso il file structures.h perchè non lo uso... è gia incluso nei due file monitor e robot...



#include "robot.h"
#include "monitor.h"
#include <iostream>


# define ind_t 2 // è l'indice del vettore di cui devo simulare il comportamento


pthread_mutex_t m1,m2;
pthread_cond_t c1,c2;
bool busy;

pthread_mutex_t me1,me2;
pthread_cond_t ce1,ce2;
bool busye;

void np_file(int index, int i, char* str, int* np, int num_neigh)
{
int ir,app;
.
.
.

oregon
31-10-2012, 15:37
Bisogna controllare cosa c'è in structures.h e come mai lo includi in tutti e due gli altri include.

angeldigi
31-10-2012, 15:42
Allora structures è un semplice file in cui sono definite delle strutture e nient'altro.. monitor e robot sono classi i cui membri sono alcune strutture definite in structures... Per questo ho incluso il file negli altri due...

MItaly
31-10-2012, 18:02
Tra parentesi, nel titolo va indicato il linguaggio di riferimento come "tag", e il codice va formattato con i tag
... ; qui ho sistemato io, in futuro ricordatene.
:ciauz:

MItaly
31-10-2012, 18:04
Originariamente inviato da angeldigi
Allora structures è un semplice file in cui sono definite delle strutture e nient'altro.. monitor e robot sono classi i cui membri sono alcune strutture definite in structures... Per questo ho incluso il file negli altri due...
Dato che il problema con ogni probabilità sta esattamente lì dovresti postarli... :stordita:

Non è che hai incluso structures.h più volte (in maniera più o meno diretta) senza che in esso ci siano gli header guards?

Loading