   strange linker error
  Hello everyone i keep getting this strange linker error when trying to compileEngine.obj : error LNK2005: "struct IDirect3D9 * d3d9" (?d3d9@@3PAUIDirect3D9@@A) already defined in UseEngine.objEngine.obj : error LNK2005: "struct IDirect3DDevice9 * device" (?device@@3PAUIDirect3DDevice9@@A) already defined in UseEngine.objbut i cant find multiple declerations of these anywhere in my code, i looked myself and also did a find, any other reasons i may be getting this error?   
  Did you define these global variables in a header file?   ;  yes, is that a problem?   ;  Yes it is. To use a global variable in a header, you should declare it as extern. Ex: extern int i; Then in one source file at namespace scope (not in a class or function) define the variable. For more details see  this article.   ;  Thanks for pointing that out, i knew that but was just being stupid, lol i havent had much experience with using extern and just read it in a primer, thanks a lot again   