Reihenfolge der Includes?
-
^Hallo
ich hab folgendes problem ( also eigentlich ist es schon gelöst, doch ich weiss nicht so recht wieso das so ist...):
ich versuch ne kleine DX9 anwendung mit winapi und c++ zu proggen, es steht alles, und dx wird auch ohne probleme initialisiert.
das problem, ich hab 4 module, gameshell, gameroutine, dx9(initialisiert dx9), und scene(enthält die eigentliche szene).
Hier jetzt der problem code, er steht oin der dx9.h:#include "d3d9.h" #include "d3dx9math.h" LPDIRECT3D9 g_pD3D; LPDIRECT3DDEVICE9 g_pD3DDevice; D3DFORMAT g_BackBufferFMT; D3DXMATRIX g_mProj; bool g_bInitD3D = false; void InitD3D(); void RunD3D(); void CleanUpD3D(); void InitProjMatrix(); extern int color_depth; extern int screen_width; extern int screen_height; extern HWND main_app_hwnd; extern bool bwindowed; extern float view_aspect; extern float FrameSpeed; extern float fTimePassed; #include "Scene.h"wenn ich den code so schreibe, läuft alles problemlos,
wenn ich ihn aber so:#include "d3d9.h" #include "d3dx9math.h" #include "Scene.h" LPDIRECT3D9 g_pD3D; LPDIRECT3DDEVICE9 g_pD3DDevice; D3DFORMAT g_BackBufferFMT; D3DXMATRIX g_mProj; bool g_bInitD3D = false; void InitD3D(); void RunD3D(); void CleanUpD3D(); void InitProjMatrix(); extern int color_depth; extern int screen_width; extern int screen_height; extern HWND main_app_hwnd; extern bool bwindowed; extern float view_aspect; extern float FrameSpeed; extern float fTimePassed;schreibe, läuft er nich...
ich benötige nur die g_pD3DDevice variable in Scene.h. wenn ich die 2 variante nehme, und dann in scene.h g_pD3DDevice als extern deklariere,. läuft es auch.
meiner meinung nach ist das so:
wenn ich die inlude darüber setze, kennt scene ja die definition von g_pD33DDevice nicht, wenn sie aber druntergesetzt wird, kennt er sie, und es kommt zu keinem fehler...bitte um bestätigung dieser Theorie!!

thx & mfg!!
