J
^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!!