我刚开始看VC++技术内幕,看到第18页那个"hello world"这个例子的时候,我照书上的源代码编译,ctrl+F7的时候没错,ctrl+F5的时候就出现下面的错误!
x22b.obj : error LNK2001: unresolved external symbol "public: __thiscall CMainFrame::CMainFrame(void)" (??0CMainFrame@@QAE@XZ)
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
libcd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/ex22b.exe : fatal error LNK1120: 4 unresolved externals
Error executing link.exe.
后来我又看书上说和随书的光盘上的例子ex22b相似,所以我就去编译书上的这个例子,同样ctrl+F7的时候没错,ctrl+F5的时候就出现下面的错误!
ex22b.obj : error LNK2001: unresolved external symbol "public: __thiscall CMainFrame::CMainFrame(void)" (??0CMainFrame@@QAE@XZ)
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
libcd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/ex22b.exe : fatal error LNK1120: 4 unresolved externals
Error executing link.exe.怎么回事?

解决方案 »

  1.   

    没有函数实现,看看你得cpp文件出了什么问题。
      

  2.   

    可能把stdafx.h应到第一行,TRY?我也初学(不好意思)
    我好想也出现过这种问题,不妨把代码帖出来。
      

  3.   

    我之前好像也遇到过类似的问题,不过因为是好多年前的事儿了,好像是项目编译链接选项设置的问题。试试用命令行方式进行编译链接后运行(下文中的编译选项可以用CL /?的方式列出并按你的要求进行修改,比如目标文件夹等等):set DEVSTUDIO=c:\progra~1\micros~3\vc98set CL=/nologo /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /W4 /O2 /FeC:\temp\Debug\HelloWorld.exe /Fd"C:\temp\Debug\" /Fo"C:\temp\Debug\" -I"%DEVSTUDIO%\Include" /link /libpath:%DEVSTUDIO%\lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib %DEVSTUDIO%\bin\cl HellowWord.CPP