软讯网络 > 编程语言 > C/C++ > 解决unresolved external symbol "public: int __thiscall CWnd::KillTimer(unsigned int)" (?KillTimer@CWnd@@QAEHI@Z)问题
【标 题】:解决unresolved external symbol "public: int __thiscall CWnd::KillTimer(unsigned int)" (?KillTimer@CWnd@@QAEHI@Z)问题
【关键字】:
unresolved,external,symbol,public,int,__thiscall,CWnd,KillTimer,unsigned,int,KillTimer,CWnd,QAEHI
【来 源】:http://www.cppblog.com/ngaut/archive/2007/02/23/18933.html
解决unresolved external symbol "public: int __thiscall CWnd::KillTimer(unsigned int)" (?KillTimer@CWnd@@QAEHI@Z)问题

出现这种问题多是由于混合使用了6.0和高版本的sdk的缘故,在vc包含的头文件中只要将6.0的sdk中的MFC下的include放在高版本SDK的MFC的include前面就可以了,这个问题花了偶两天的时间,汗
也可以在vc中设置使用AFX_ENABLE_INLINES 预定义
【相关评论】
我也遇到同样的问题,虽然我还不知道该如何解决,但是我认为,这个答案不正确的。因为public: int __thiscall CWnd::KillTimer的定义,都出现AFXWIN2.INL文件中。
而且从文件中的定义来看,只有在debug版中,才会出现这个问题,release 版本中,不会出现这个问题。所以,不明白为什么了,现在怀疑是不是新的sdk少了某个lib文件?
[%PSDK%\Include\mfc\AFXWIN.H]
line:2113 BOOL KillTimer(UINT_PTR nIDEvent);
[%VSTD%\VC98\MFC\Include\AFXWIN.H]
line:2097
BOOL KillTimer(int nIDEvent);
两处的类型不匹配。替换掉这个文件就可以了。