我写了个小程序,在dubeg调试版的条件下编译,没有出现什么异常,但是我转换成在运行版编译成可执行文件是,出现了好多错误,好象就存在一个问题而导致的,其错误信息如下:
     --------------------Configuration: VCad - Win32 Release--------------------
Linking...
CreateLine.obj : error LNK2001: unresolved external symbol "void __cdecl Prompt(class CString)" (?Prompt@@YAXVCString@@@Z)
CreateRectangle.obj : error LNK2001: unresolved external symbol "void __cdecl Prompt(class CString)" (?Prompt@@YAXVCString@@@Z)
MoveCmd.obj : error LNK2001: unresolved external symbol "void __cdecl Prompt(class CString)" (?Prompt@@YAXVCString@@@Z)
VCadDoc.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CVCadDoc::DeleteContents(void)" (?DeleteContents@CVCadDoc@@UAEXXZ)
VCadView.obj : error LNK2001: unresolved external symbol "public: void __thiscall CVCadDoc::Draw(class CDC *)" (?Draw@CVCadDoc@@QAEXPAVCDC@@@Z)
VCadView.obj : error LNK2001: unresolved external symbol "public: void __thiscall CVCadDoc::OnLButtonDown(unsigned int,class Position const &)" (?OnLButtonDown@CVCadDoc@@QAEXIABVPosition@@@Z)
VCadView.obj : error LNK2001: unresolved external symbol "public: void __thiscall CVCadDoc::OnMouseMove(unsigned int,class Position const &)" (?OnMouseMove@CVCadDoc@@QAEXIABVPosition@@@Z)
Release/VCad.exe : fatal error LNK1120: 5 unresolved externals
Error executing link.exe.VCad.exe - 8 error(s), 0 warning(s)   请问一下,这是怎么回事啊,我怎么才能弄出错误,实现正常,求救!

解决方案 »

  1.   

    debug版与Release的库设置不一样造成的。
      

  2.   

    哦,在什么地方改变debug,release库的设置啊
      

  3.   

    project->setting->link->gategory:input->additional library path
      

  4.   

    {{VCadView.obj : error LNK2001: unresolved external symbol "public: void __thiscall CVCadDoc::OnLButtonDown(unsigned int,class Position const &)" (?OnLButtonDown@CVCadDoc@@QAEXIABVPosition@@@Z)}}出现上述情况,是因为我的外接全局变量出什么问题了吗,或者是没有引用对阿,在什么情况下会出现那些错误显示的!我看了那个连接设置,和debug一样的阿!
      

  5.   

    additional library path,设置要是跟DEBUG一样,不会出现DEBUG通过,RELEASE失败的问题啊。找找CVCadDoc::OnLButtonDown,CVCadDoc::Draw,CVCadDoc::OnMouseMove这几个函数,在哪里声名和定义的,如果函数只声明不定义,也会出现此类错误。
      

  6.   

    对了,我的没有这个“additional library path”,我选择的是“普通”类型的编译,好象没有这个设置的!
      

  7.   

    Prompt(class CString)函数我是在MainFrm.h中声明和定义的全局函数,然后在其他不同源文件的类中运用该文件,方法如下:::Prompt(Str);结果在运行版下,就出现上面的那个错误!我改在stafx.h内定义后就好用了,是什么原因造成的啊?
    其他的几个函数都是在类*Doc内建立的,不过在那些函数中都调用过自定义的类,自定义的类是在自己新建的一个专门的源文件内完成定义的!还有在这些函数中用到了视图的全局指针对象!