我在学习《VC技术内幕》时,前面几章的例题做的很顺利,可是到了第十一章,总是出现Link错误:类似如下:Linking...
ex11c.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CDialog::OnCancel(void)" (?OnCancel@CDialog@@UAEXXZ)我不知道是否是我的代码有问题,不过看到错误出提示我CDialog有问题,于是我就返回前面几章的例子,没想到在Debug时,居然出现许多类似如下的信息:Loaded 'C:\WINDOWS\SYSTEM\USER32.DLL', no matching symbolic information found.导致我以前所有包含Dialog资源的程序都不能运行了,各位一定要帮帮小弟呀!!!!

解决方案 »

  1.   

    检查一下你的对话框中的OnCancel()函数是不是有问题。
      

  2.   

    ——>nanjianhui(nan) 
    我想告诉你:我以前的程序本来没有问题!!!
      

  3.   

    我又进行了一项测试:用AppWizard生成一个默认的程序,直接编译时居然出错(这种情况在前几天并没有出现过),出现的还是那几条错误:--------------------Configuration: test - Win32 Debug--------------------
    Linking...
    test.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CDialog::OnCancel(void)" (?OnCancel@CDialog@@UAEXXZ)
    test.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CDialog::OnOK(void)" (?OnOK@CDialog@@UAEXXZ)
    Debug/test.exe : fatal error LNK1120: 2 unresolved externals
    Error executing link.exe.test.exe - 3 error(s), 0 warning(s)注:由于默认的程序包含一个About对话框
      

  4.   

    看看OnCancel()和OnOK()函数有几个?定义和声明的是否正确。
      

  5.   

    你的程序是sdi,mdi,还是对话框
      

  6.   

    就是你的派生的CDialog类的.h和.cpp的问题,好好检查一下。