new了一个新类class CxxxWnd : public CWnd
需要在此添加
DECLARE_DYNAMIC(class CxxxWnd)
但总是编译报错 :error LNK2001: unresolved external symbol "public: virtual struct CRuntimeClass * __thiscall CxxxWnd ::GetRuntimeClass(void)const " (?GetRuntimeClass@CxxxWnd@@UBEPAUCRuntimeClass@@XZ)
Debug/SDI_FrameDemo.exe : fatal error LNK1120: 1 unresolved externals
原因:
IMPLEMENT_DYNAMIC是实现“运行时类型识别”宏,与之相对应的是DECLARE_DYNAMIC(声明“运行时类型识别”宏)。也就是说你在.CPP文件中如果看见有IMPLEMENT_DYNAMIC,则在.H文件中必定有DECLARE_DYNAMIC的声明。
这两个宏是成对出现的,添加IMPLEMENT_DYNAMIC后链接错误消失。