c++ - MFC 应用程序的入口点

标签 c++ visual-c++ mfc

我创建了新的空项目。然后添加了取自 Jeff Prosise“使用 MFC 编写 Windows 程序”一书的 cpp 和 header hello world 文件。已将 Use of MFC 设置为 Use MFC in a Shared DLL

出现错误必须定义入口点 如何解决这个问题?

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 ()
};

最佳答案

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

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

关于c++ - MFC 应用程序的入口点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22909343/

相关文章:

c++ - 将调用哪个重载模板?

c++ - 如何在 MFC 功能区应用程序中使用自动完成编辑控件

c++ - 我应该如何部署 MFC 应用程序?

c++ - 将数据从 C++ 加载到 QML Scatter3d 项

c++ - move 赋值运算符 C++

c++ - 删除的构造函数 - MSVC 报告错误,Clang 没有

c++ - 使用 ios::ate 重写数据

c++ - 我如何决定是否为新的 C++ 项目使用 ATL、MFC、Win32 或 CLR?

c++ - 关于结构构造函数和析构函数行为 - C++

c++ - 从 CString 中获取一个字符