源程序如下,编译时没有错误但是连接时出错了,由于是自学不知道原因,请各位多多指点.
请问一下错误的原因是什么?应该怎么解决呢?
/*           3_1.cpp              */
#include<windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,
   HINSTANCE hPrevInst,
   LPSTR lpszCndLine,
   int nCmdShow)
{
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char lpszClassName[]="窗口";
char lpszTitle[]="My_Windows";

wndclass.style=0;
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(LTGRAY_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=lpszClassName; if(!RegisterClass(& wndclass))
{
MessageBeep(0);
return FALSE;
} hwnd=CreateWindow(lpszClassName,
lpszTitle,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
);
ShowWindow(hwnd,nCmdShow);
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)
{
switch(message)
{
case WM_DESTROY :
PostQuitMessage(0);
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return(0);
}--------------------Configuration: 3_1 - Win32 Debug--------------------
Compiling...
Skipping... (no relevant changes detected)
3_1.cpp3_1.obj - 0 error(s), 0 warning(s)--------------------Configuration: 3_1 - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/3_1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.3_1.exe - 2 error(s), 0 warning(s)

解决方案 »

  1.   

    工程设置中把SubSystem的main改成WinMain
      

  2.   

    工程设置里并没有找到SubSystem.
    能不能说得详细一点呢?
      

  3.   

    Project菜单, Settings, C/C++ , 改变preprocessor definitions 为 WIN32, _DEBUG, and _WINDOWS.点Link页, 改Project Options, 将/subsystem:console 改为/subsystem:windows. 
      

  4.   

    谢谢大家的帮忙,我已经知道原因了.
    http://support.microsoft.com/?scid=kb;en-us;291952&spid=3042&sid=194
    这里介绍得很详细.
      

  5.   

    原因是你建立Console工程而写windows窗口
    把SubSystem的console修改为 /subsystem:windows
    setting->link->project options