Ver Mensaje Individual
  #5 (permalink)  
Antiguo 03/07/2007, 23:19
Avatar de ArrauKano
ArrauKano
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 22 años, 2 meses
Puntos: 4
Re: Proyecto Libre GDT: Problema con el enlazador en Visual C++ 2005 Express

Bueno, al fin descubrí de que se trataba.
Era a nivel de código, pero no era lo que pensaba.

Sucede que MinGW cuando "preprocesa" lee todos los simbolos, y luego mientras compila resuelve de donde viene tal o cual cosa.

En cambio, en Visual C++, se trabaja cada archivo fuente (.cpp) como un "módulo". Entonces, yo tenía esto en un archivo header que englobaba varios "módulos":

Código:
IrrlichtDevice *GD_Sistema::device=NULL;
int GD_Sistema::ContadorElementosGui;
Y en efecto, pescaba esta cabecera, pero no específicamente el archivo gd_agua.cpp y gd_guibarra.cpp

La solución que me dieron (o leí, ya no recuerdo, pero gracias a quien fuera), era poner estas líneas en cada módulo donde hiciera falta, por ejemplo, en el principio de gd_agua.cpp despues de los include poner la linea:

Código:
IrrlichtDevice *GD_Sistema::device=NULL;
y en gd_guibarra.cpp lo mismo con la otra que reclamaba.

Finalmente me funcionó eso, (aunque luego aparecieron más errores, pero los corregí). Muchas gracias.
__________________
Blog | Tecnosquad