各位,俺是新手,帮俺看看这个Link2001错误怎么解决?
有两个DLL,GraphDll和RectDll。
在GraphDll中,Graph的定义如下
class AFX_EXT_CLASS CGraph : public CObject
{
DECLARE_DYNCREATE(CGraph);
public:
CGraph();
virtual ~CGraph();
virtual void Draw(CDC* pDC, BOOL bSec);
};
IMPLEMENT_DYNCREATE(CGraph, CObject)
在RectDll中,CRectangle的定义
class AFX_EXT_CLASS CRectangle : public CGraph
{
DECLARE_DYNCREATE(CRectangle);
public:
CRectangle();
virtual ~CRectangle();
virtual void Draw(CDC* pDC, BOOL bSec);
};
IMPLEMENT_DYNCREATE(CRectangle, CGraph)
在RectDll中已经静态装载了GraphDll.
编译GraphDll时,一切OK。
在编译RectDll时,会出现下面可恶的Link2001错误,各位帮帮忙吧。
--------------------Configuration: RectDll - Win32 Debug--------------------
Linking...
Creating library Debug/RectDll.lib and object Debug/RectDll.exp
Rectangle.obj : error LNK2001: unresolved external symbol "public: static struct CRuntimeClass const CGraph::classCGraph" (?classCGraph@CGraph@@2UCRuntimeClass@@B)
Debug/RectDll.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
RectDll.dll - 2 error(s), 0 warning(s)