我创建了新的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 ()
};
答案 0 :(得分:6)
您需要告诉编译器使用WinMain
(由MFC提供:http://msdn.microsoft.com/en-us/library/akdx0603.aspx)而不是main
作为入口点。
右键点击项目,选择Properties
,然后导航至Linker
- &gt; System
- &gt; SubSystem
。将SubSystem
更改为Windows
。