Creo que me he perdido.
Creo que el problema es que quieres tener unas variables que sean accesibles desde main y desde el otro cpp, y que las has metido en el .h. Y ese .h lo has incluido en los 2 cpp. Asi cada cpp compilado (cada obj) tiene su propia variable, una cada uno, llamadas igual. Y es a la hora de juntarlos los obj en el linkador, que se encuantra con 2 varaibles distinas con el mismo nombre.
Esto seria la explicacion "teorica" (si es que no se me ha olvidado el C/C++).
Creo recordar que esto se solucionaba con la palabrabra extern el la declaracion de la variable en el .h y definiendo en uno solo de los cpp.
En el .h
en el cpp:
Código:
include .h
int variable;
variable=30;
en el main:
Código:
include .h
printf(variable);
Seria algo asi la logica.
Pero con esto estarias usando variables globales, que son el demonio (solo superadas por el GOTO). Asi que lo "correcto" seria replantearte el uso de variables globales.
Saludos.
PD: El extern creo que es de C. Pero comoC++ es una evolucion de C, supongo que seguira funcionando.
PD2: Siempre que han asustado los interfaces de directx. Me sentia mas comodo con OpenGL y su forma de hacer en C. De esto hace 3 o 4 años.