如下的程序在VC++6.0下编译无错误但就是生不成.exe文件,不知为什么。
在output中的错误提示是这样的:
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/Linedemo.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
下面是程序源码:
#include <windows.h>LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,
int iCmdShow)
{
static TCHAR szAppName[]=TEXT("LineDemo");
HWND hwnd;
MSG msg;
WNDCLASS wndclass;wndclass.style =CS_HREDRAW |CS_VREDRAW;
wndclass.lpfnWndProc =WndProc;
wndclass.cbClsExtra =0;
wndclass.cbWndExtra =0;
wndclass.hInstance =hInstance;
wndclass.hIcon =LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor =LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName =NULL;
wndclass.lpszClassName =szAppName;
if(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("This program requires Windows NT!"),
szAppName,MB_ICONERROR);
return 0;
}
hwnd=CreateWindow(szAppName,
TEXT("The Hello Program"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);ShowWindow(hwnd,iCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{TranslateMessage(&msg);
DispatchMessage(&msg);}return msg.wParam ;}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
static int cxClient,cyClient;
HDC hdc;
PAINTSTRUCT ps;switch(message)
{
case WM_CREATE:
return 0;case WM_SIZE:
cxClient=LOWORD(lParam);
cyClient=HIWORD(lParam);
return 0;case WM_PAINT:
hdc =BeginPaint(hwnd,&ps);Rectangle (hdc,cxClient/8,cyClient/8,
7 * cxClient/8,7 * cyClient/8);
Ellipse (hdc,cxClient/8,cyClient/8,
7 * cxClient/8,7 * cyClient/8);
Arc (hdc,cxClient/7,cyClient/7,
6 * cxClient/7,6 * cyClient/7,
cxClient/5,0,0,cyClient/5);Chord (hdc,cxClient/6,cyClient/6,
5 * cxClient/6,5 * cyClient/6,
cxClient/4,0,0,cyClient/4);
Pie (hdc,cxClient/5,cyClient/5,
4 * cxClient/5,4 * cyClient/5,
cxClient/3,0,0,cyClient/3);EndPaint(hwnd,&ps);return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;}return DefWindowProc(hwnd,message,wParam,lParam);}