我创建了新的空项目。然后添加了取自 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/