MFC应用的切入点

时间:2014-04-07 10:07:13

标签: c++ visual-c++ mfc

我创建了新的emty项目。然后添加了从Jeff Prosise的“使用MFC编程Windows”一书中获取的cpp和header hello world文件。已将Use of MFC设置为Use 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);
}

H:

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

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

protected:
    afx_msg void OnPaint ();
    DECLARE_MESSAGE_MAP ()
};

1 个答案:

答案 0 :(得分:6)

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

右键点击项目,选择Properties,然后导航至Linker - &gt; System - &gt; SubSystem。将SubSystem更改为Windows