环境是VS2010 MFC Dialogbased,在删除MScomm控件时出现两个错误:
错误 1 error LNK1120: 1 个无法解析的外部命令
2 error LNK2001: 无法解析的外部符号 "protected: virtual struct AFX_EVENTSINKMAP const * __thiscall CSelfHeatingTestDlg::GetEventSinkMap(void)const "
(?GetEventSinkMap@CXXDlg@@MBEPBUAFX_EVENTSINKMAP@@XZ) 、
记得除了删除控件变量定义,消息声明,消息响应函数,DoDataExchagnge(CDataExchange*PDX)里面的相关DDX_Control项,还删除了“BEGIN_EVENTSINK_MAP(CselfheatingDlg, CDialogEx)
ON_EVENT(CselfheatingDlg, IDC_MSCOMM1, 1, CselfheatingDlg::OnCommMscomm1, VTS_NONE)
END_EVENTSINK_MAP()”
这时,只需要再删除XXDlg.h中的DECLARE_EVENTSINK_MAP()就行了
参考网址:http://blog.csdn.net/wesleyluo/article/details/4889503