为什么会出现如这样的错误,但当编译的时候 没有错,#include<afxwin.h>
#include"hello.h"
BOOL CMyApp::InitInstance()
{
m_pMainWnd=new CMainWindow;
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()
CMainWindow::CMainWindow()
{
Create(NULL,_T("The Hello Application"));
}
void CMainWindow::OnPaint()
{
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
dc.DrawText(_T("Hello,MFC"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
}
--------------------Configuration: hello - Win32 Debug--------------------
Linking...
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/hello.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.hello.exe - 4 error(s), 0 warning(s)

解决方案 »

  1.   

    你需要用VC创建一个MFC项目,而不是从控制台项目来改。
    另外需要#include <process.h>。
      

  2.   

    难道这些类是自己创建的?请从Mfc32 exe那创建.
      

  3.   

    hello.h文件如下:
    class CMyApp:public CWinApp
    {
    public:
    virtual BOOL InitInstance();
    };
    class CMainWindow:public CFrameWnd
    {
    public:
    CMainWindow();
    protected:
    afx_msg void OnPaint();
    DECLARE_MESSAGE_MAP()
    };
    几位大哥,都接你们说的去做了,还是不行,
      

  4.   

    设置下"在静态库中使用MFC"或者"在共享DLL中使用MFC"   试试
      

  5.   

    #define _MT
    #pragma comment(linker, "/subsystem:Windows") //加上这两句看看
    #include <afxwin.h>
    #include "hello.h"
    ............
      

  6.   

    使用 multithread debug ...
      

  7.   

    1.MFC需要HINSTANCE   hInstance,   HINSTANCE   hPrevInstance,   LPSTR   lpCmdLine,   int   nCmdShow这几个参数来进行初始化,你的程序可能是基于console的
    2.请使用多线程版本的C\C++运行期函数库
      

  8.   

    Project-Settings--General--Microsoft foundation Classes
    project->settings   
      link   tab   
      Project   Options中找到   
      /subsystem:console   
      改为/subsystem:windows