DECLARE_DYNAMIC宏的添加

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后链接错误消失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值