编译完成,出现错误一:
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/WinMain.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.解决办法:
设置:[Project] --> [Settings] --> 选择"Link"属性页,
在Project Options中将/subsystem:console改成/subsystem:windows.再编译,出现错误二:
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/WinMain.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.解决办法:
设置:[Project] --> [Settings] --> 选择"Link"属性页,
在Project Options中将/subsystem:windows改成/subsystem:console.会重复出现 错误一证明通过修改"Link"属性页--Project Options无效。请高手解答。。谢谢

解决方案 »

  1.   

    你的程序中既有main又有winmain函数?
      

  2.   

    就是个简单的窗口函数。源代码如下:#include <windows.h>
    #include <stdio.h>LRESULT CALLBACK WinSunProc(
    HWND hwnd,
    UINT uMsg,
    WPARAM wParam,
    LPARAM lParam
    );int WINAPI WINMAIN(
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow
    )
    {
    WNDCLASS wndcls;
    wndcls.cbClsExtra=0;
    wndcls.cbWndExtra=0;
    wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
    wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
    wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
    wndcls.hInstance=hInstance;
    wndcls.lpfnWndProc=WinSunProc;
    wndcls.lpszClassName="sunxin2006";
    wndcls.lpszMenuName=NULL;
    wndcls.style=CS_HREDRAW | CS_VREDRAW;
    RegisterClass(&wndcls); HWND hwnd;
    hwnd=CreateWindow("sunxin2006","http://www.sunxin.org",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL); ShowWindow(hwnd,SW_SHOWNORMAL);
    UpdateWindow(hwnd); MSG msg;
    while(GetMessage(&msg,NULL,0,0))
    {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
    }
    return msg.wParam;}LRESULT CALLBACK WinSunProc(
    HWND hwnd,
    UINT uMsg,
    WPARAM wParam,
    LPARAM lParam
    ){
    switch(uMsg)
    {
    case WM_CHAR:
    char szChar[20];
    sprintf(szChar,"char code is %d",wParam);
    MessageBox(hwnd,szChar,"char",0);
    break; case WM_LBUTTONDOWN:
    MessageBox(hwnd,"mouse clicked","message",0);
    HDC hdc;
    hdc=GetDC(hwnd);
    TextOut(hdc,0,50,"程序员之家",strlen("程序员之家"));
    break; case WM_PAINT:
    HDC hDC;
    PAINTSTRUCT ps;
    hDC=BeginPaint(hwnd,&ps);
    TextOut(hDC,0,0,"http://www.sunxin.org",strlen("http://www.sunxin.org"));
    EndPaint(hwnd,&ps);
    break; case WM_CLOSE:
    if(IDYES==MessageBox(hwnd,"是否真的结束?","message",MB_YESNO))
    {
    DestroyWindow(hwnd);
    }
    break; case WM_DESTROY:
    PostQuitMessage(0);
    break; default:
    return DefWindowProc(hwnd,uMsg,wParam,lParam);
    }
    return 0;
    }
      

  3.   

    入口函数是WinMain 不是WINMAIN
      

  4.   

    OK,原来这点小错误会导致以下问题发生-----编译完成,出现错误一: 
    LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main 
    Debug/WinMain.exe : fatal error LNK1120: 1 unresolved externals 
    Error executing link.exe. 解决办法: 
    设置:[Project] --> [Settings] --> 选择"Link"属性页, 
    在Project Options中将/subsystem:console改成/subsystem:windows. 再编译,出现错误二: 
    LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 
    Debug/WinMain.exe : fatal error LNK1120: 1 unresolved externals 
    Error executing link.exe. 解决办法: 
    设置:[Project] --> [Settings] --> 选择"Link"属性页, 
    在Project Options中将/subsystem:windows改成/subsystem:console. 会重复出现 错误一证明通过修改"Link"属性页--Project Options无效。 
      

  5.   

    int WINAPI WINMAIN(WinMain)这里打错了,是<vc深入详解>上的例子.