【问题标题】:Entry point for MFC applicationMFC 应用程序的入口点
【发布时间】:2014-05-19 12:20:57
【问题描述】:

我创建了新的 emty 项目。然后添加了取自 Jeff Prosise 'Programming Windows with MFC' 一书中的 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 ()
};

【问题讨论】:

  • 你错过了你的主要功能。

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


【解决方案1】:

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

右键单击项目,选择Properties,然后导航到Linker -> System -> SubSystem。将SubSystem 更改为Windows

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多