   Link problem when inheriting DirectX stuff in C++
  Hi!I have found a class with some good DirectX stuff that I want to extend by inheriteance. But I can''t inherit it since i get a whole lots of strange errors:Linking...ExtendedDirectDrawHolder.obj : error LNK2005: _IID_IDirectDrawColorControl already defined in DirectDrawHolder.objExtendedDirectDrawHolder.obj : error LNK2005: _IID_IDirectDrawClipper already defined in DirectDrawHolder.objExtendedDirectDrawHolder.obj : error LNK2005: _IID_IDirectDrawPalette already defined in DirectDrawHolder.objExtendedDirectDrawHolder.obj : error LNK2005: _IID_IDirectDrawSurface3 already defined in DirectDrawHolder.objExtendedDirectDrawHolder.obj : error LNK2005: _IID_IDirectDrawSurface2 already defined in DirectDrawHolder.objExtendedDirectDrawHolder.obj : error LNK2005: _IID_IDirectDrawSurface already defined in DirectDrawHolder.objExtendedDirectDrawHolder.obj : error LNK2005: _IID_IDirectDraw2 already defined in DirectDrawHolder.objExtendedDirectDrawHolder.obj : error LNK2005: _IID_IDirectDraw already defined in DirectDrawHolder.objExtendedDirectDrawHolder.obj : error LNK2005: _CLSID_DirectDrawClipper already defined in DirectDrawHolder.objExtendedDirectDrawHolder.obj : error LNK2005: _CLSID_DirectDraw already defined in DirectDrawHolder.objDebug/Client.exe : fatal error LNK1169: one or more multiply defined symbols foundError executing link.exe.The header of the Base Class looks like this:#if !defined(AFX_DIRECTDRAWHOLDER_H__D70F48A2_9067_11D2_8CE1_002D06C10000__INCLUDED_)#define AFX_DIRECTDRAWHOLDER_H__D70F48A2_9067_11D2_8CE1_002D06C10000__INCLUDED_//#include "LinkStore.h"#ifndef __DDRAW_INCLUDED__#define INITGUID#endif#if _MSC_VER >= 1000#pragma once#endif // _MSC_VER >= 1000#include <ddraw.h>#include <vector>using namespace std;class CDDSurfaceHolder;class CDDirectDrawHolder {protected:friend class CDDSurfaceHolder;LPDIRECTDRAWSURFACE m_lpDDPrimarySurface;//Primary surfaceLPDIRECTDRAWSURFACE m_lpDDBackSurface;//Back surfaceLPDIRECTDRAW2 m_lpDD2;HWND m_hWnd;//Window handle..... and more like that,my inherited class looks like this;#include "Obj.hpp"#include "DirectDrawHolder.hpp"class ExtendedDirectDrawHolder : public CDDirectDrawHolder, public Obj{public:ExtendedDirectDrawHolder();virtual ~ExtendedDirectDrawHolder();virtual void Clear();  // Draws a rectangle virtual void DrawRectangle(int x1, int y1, int x2, int y2, int color);};What could it be?? 
  Using #define INITGUID inside a header is bad mojo. The easiest fix is probably to get rid of that line and instead link against dxguid.lib. ;  1000 Thanks man..May the mojo follow you.. 