读书人

编译异常,请指点一下.

发布时间: 2012-04-02 19:58:59 作者: rapoo

编译错误,请指点一下....
编译结果出如下错误:LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/123.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
请指点一下....


//
//
//*******************************************************************
// 工程:easywin
// 文件:easywin.cpp
// 内容:一个基本的Win32程序//*******************************************************************

#include <windows.h>
//#include <windowsx.h>
//#include <stdlib.h>

//函数声明

BOOL InitWindow( HINSTANCE hInstance, int nCmdShow );

LRESULT CALLBACK WinProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam );

//*******************************************************************

//函数:WinMain()

//功能:Win32应用程序入口函数。创建主窗口,处理消息循环

//*******************************************************************

int PASCAL WinMain( HINSTANCE hInstance, //当前实例句柄

HINSTANCE hPrevInstance, //前一个实例句柄

LPSTR lpCmdLine, //命令行字符

int nCmdShow) //窗口显示方式

{

MSG msg;

//创建主窗口

if ( !InitWindow( hInstance, nCmdShow ) )

return FALSE;

//进入消息循环:

//从该应用程序的消息队列中检取消息,送到消息处理过程,

//当检取到WM_QUIT消息时,退出消息循环。

while (GetMessage(&msg, NULL, 0, 0))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

//程序结束

return msg.wParam;

}

//******************************************************************

//函数:InitWindow()

//功能:创建窗口。

//******************************************************************

static BOOL InitWindow( HINSTANCE hInstance, int nCmdShow )

{

HWND hwnd; //窗口句柄

WNDCLASS wc; //窗口类结构

//填充窗口类结构

wc.style = CS_VREDRAW | CS_HREDRAW;

wc.lpfnWndProc = (WNDPROC)WinProc;

wc.cbClsExtra = 0;

wc.cbWndExtra = 0;

wc.hInstance = hInstance;

wc.hIcon = LoadIcon( hInstance, IDI_APPLICATION );

wc.hCursor = LoadCursor( NULL, IDC_ARROW );

//wc.hbrBackground = GetStockObject(WHITE_BRUSH);

wc.lpszMenuName = NULL;

wc.lpszClassName = "EasyWin ";

//注册窗口类

RegisterClass( &wc );

//
//创建主窗口

hwnd = CreateWindow(

"EasyWin ", //窗口类名称

"一个基本的Win32程序 ", //窗口标题

WS_OVERLAPPEDWINDOW, //窗口风格,定义为普通型

100, //窗口位置的x坐标

100, //窗口位置的y坐标

400, //窗口的宽度

300, //窗口的高度

NULL, //父窗口句柄

NULL, //菜单句柄

hInstance, //应用程序实例句柄

NULL ); //窗口创建数据指针

if( !hwnd ) return FALSE;

//显示并更新窗口

ShowWindow( hwnd, nCmdShow );



UpdateWindow( hwnd );

return TRUE;

}

//******************************************************************

//函数:WinProc()

//功能:处理主窗口消息

//******************************************************************

LRESULT CALLBACK WinProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )

{

switch( message )

{

case WM_KEYDOWN://击键消息

switch( wParam )

{

case VK_ESCAPE:

MessageBox(hWnd, "ESC键按下了! ", "Keyboard ",MB_OK);

break;

}

break;

case WM_RBUTTONDOWN://鼠标消息

{

MessageBox(hWnd, "鼠标右键按下了! ", "Mouse ",MB_OK);

break;

}

case WM_PAINT://窗口重画消息

{

char hello[]= "你好,我是EasyWin ! ";

HDC hdc;

PAINTSTRUCT ps;

hdc=BeginPaint( hWnd,&ps ); //取得设备环境句柄

SetTextColor(hdc, RGB(0,0,255)); //设置文字颜色

TextOut( hdc, 20, 10, hello, strlen(hello) );//输出文字

EndPaint( hWnd, &ps ); //释放资源

break;

}

case WM_DESTROY://退出消息

PostQuitMessage( 0 );//调用退出函数

break;

}

//调用缺省消息处理过程

return DefWindowProc(hWnd, message, wParam, lParam);

}



[解决办法]
你直接建了个C++ SOURCE FILE 在上面写的吧
改成建 Win32 Application

读书人网 >VC/MFC

热点推荐