MFC应用的切入点

vic*_*ico 7 c++ mfc visual-c++

我创建了新的emty项目.然后添加了从Jeff Prosise的"使用MFC编程Windows"一书中获取的cpp和header hello world文件.已经设定Use of MFCUse MFC in a Shared DLL

得到错误entry point must be defined 如何解决这个问题?

CPP:

#include <afxwin.h>
#include "Hello.h"

CMyApp myApp;

/////////////////////////////////////////////////////////////////////////
// CMyApp member functions

BOOL CMyApp::InitInstance ()
{
    m_pMainWnd = new CMainWindow;


   m_pMainWnd->ShowWindow (m_nCmdShow);
    m_pMainWnd->UpdateWindow ();
    return TRUE;
}

/////////////////////////////////////////////////////////////////////////
// CMainWindow message map and member functions

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);
}
Run Code Online (Sandbox Code Playgroud)

H:

class CMyApp : public CWinApp
{
public:
    virtual BOOL InitInstance ();
};

class CMainWindow : public CFrameWnd
{
public:
    CMainWindow ();

protected:
    afx_msg void OnPaint ();
    DECLARE_MESSAGE_MAP ()
};
Run Code Online (Sandbox Code Playgroud)

Nem*_*ric 8

您需要告诉编译器使用WinMain(由MFC提供:http://msdn.microsoft.com/en-us/library/akdx0603.aspx)而不是main作为入口点.

右键单击项目,选择Properties,然后导航到Linker- > System- > SubSystem.更改SubSystemWindows.