Foros del Web » Programación para mayores de 30 ;) » Programación General »

c++: Lio con .h's: "already defined"

Estas en el tema de c++: Lio con .h's: "already defined" en el foro de Programación General en Foros del Web. Buenas soy nuevo en c++. Tengo 2 dicheros cpp, con sus corresponedientes .h. Y aparte un fichero .h con constantes. El fichero cpp 1, utiliza ...
  #1 (permalink)  
Antiguo 21/11/2005, 05:25
 
Fecha de Ingreso: octubre-2004
Mensajes: 878
Antigüedad: 20 años, 1 mes
Puntos: 1
c++: Lio con .h's: "already defined"

Buenas soy nuevo en c++.
Tengo 2 dicheros cpp, con sus corresponedientes .h. Y aparte un fichero .h con constantes.
El fichero cpp 1, utiliza al fichero cpp 2, y los 2 ficheros cpp, utilizan el fichero .h de constantes. El problema es que como en los 2 ficheros cpp tengo puesto #include "constantes.h", me da este error al compilar:

Cita:
Generating Code...
Linking...
Recristalazation_CEIT.obj : error LNK2005: "double QGB" (?QGB@@3NA) already defined in Functions.obj
Con una linea por cada constante.

He buscado por ahí, y dicen que hay que poenr el fichero de constantes, así y lo he puesto del tipo
Código:
#ifndef _CONSTANTS_H_
#define _CONSTANTS_H_
// las definiciones
#endif
Pero me sigue dando el mismo error. Alguien me puede decir como solucionarlo?
Graciassss

Última edición por tunait; 10/02/2006 a las 11:56
  #2 (permalink)  
Antiguo 21/11/2005, 13:44
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
El error es al enlazar, no al compilar.

La manera mas simple de solucionarlo es usando #define en vez de const.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 22/11/2005, 02:16
 
Fecha de Ingreso: octubre-2004
Mensajes: 878
Antigüedad: 20 años, 1 mes
Puntos: 1
Gracias ya lo he puesto con el define y funciona, pero no me convence mucho ya que hal hacer un debug, no puedo consultar el valor de estas constantes, por si alguna la hubiera puesto mal o me la cogiera mal o algo...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:09.