none
_main 외부 기호(참조 위치: ___tmainCRTStartup 함수)에서 확인하지 못했습니다. RRS feed

  • 질문

  • #include <windows.h>

    LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
    HINSTANCE g_hlnst;
    LPCTSTR lpszClass=TEXT("First");

    int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow)
    {
     HWND hWnd;
     MSG Message;
     WNDCLASS WndClass;
     g_hlnst=hInstance;

     WndClass.cbClsExtra=0;
     WndClass.cbWndExtra=0;
     WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
     WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
     WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
     WndClass.hInstance=hInstance;
     WndClass.lpfnWndProc= WndProc;
     WndClass.lpszClassName = lpszClass;
     WndClass.lpszMenuName = NULL;
     WndClass.style = CS_HREDRAW | CS_VREDRAW;
     RegisterClass(&WndClass);

     hWnd= CreateWindow(lpszClass, lpszClass, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, (HMENU)NULL, hInstance, NULL);
     ShowWindow(hWnd, nCmdShow);

     while (GetMessage(&Message, NULL, 0, 0)) { TranslateMessage(&Message); DispatchMessage(&Message); }
     return (int)Message.wParam;
    }

    LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)
    {
     switch(iMessage)
     {
     case WM_DESTROY : PostQuitMessage(0);
      return 0;
     }
     return(DefWindowProc(hWnd, iMessage, wParam, lParam));
    }

    1>MSVCRTD.lib(crtexe.obj) : error LNK2019: _main 외부 기호(참조 위치: ___tmainCRTStartup 함수)에서 확인하지 못했습니다.
    1>c:\users\administrator\documents\visual studio 2010\Projects\api\Debug\api.exe : fatal error LNK1120: 1개의 확인할 수 없는 외부 참조입니다

    제가 대소문자구분을 못한것같지도 않고, 특별히 잘못된게 없는것 같은데

    이렇게 에러가 나는 이유를 모르겠습니다.

    visual C++ 2010 Express를 사용합니다.

    저 에러의 원인을 알려주시면 감사하겠습니다.

    2014년 11월 6일 목요일 오후 3:21

답변

  • Win32 콘솔 프로젝트로 생성된 프로젝트에서 진입점이 int main() 이 아닌 경우인 것 같습니다. 이런 경우라면 프로젝트 속성에서 '링커' -> '시스템' 에 있는 '서브시스템' 란을 'Windows' 로 바꿔주시면 될 것 같습니다.

    컴파일러 옵션에 '/SUBSYSTEM:WINDOWS' 를 추가해 주시는 것과 동일합니다.

    2014년 11월 8일 토요일 오전 6:15