|
와니 님이 쓰신 글 :
: 환경이 콘솔이라고 하셨네요...
: 컴파일은 문법 오류만 없다면 문제가 없습니다.
: 그러나, 링크시에 콘솔에서는 링커가 _main이 있는 오브젝트 화일을 찾게 되지요.
: 윈도우에서는 _WinMain을 찾게 됩니다.
: 아래의 에러 구문은 콘솔 링킹시에 _main루틴이 없다고 나오는 거네요.
: 소스를 보니 소스는 윈도우 프로그램이구요.
: 문제가 뭔지 아시겠지요?
:
:
: 남병철 님이 쓰신 글 :
: : 문제는 링크에러가 나는데 있습니다.(컴파일이 다 된것으로 봐서 코드 문제는 아닌것 같은데... ㅡㅡ;)
: : 환경은 콘솔, C++ 입니다.(VCL, Multi 쓰레드 제외상태)
: :
: : 링크 에러 메시지는...
: : [Linker Error] Unresolved external '_main' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER5\LIB\C0X32.OBJ
: :
: :
: : #include <windows.h>
: :
: : LRESULT CALLBACK WindowFunc(HWND, UINT, WPARAM, LPARAM);
: :
: : char szWinName[] = "MyWin"; // 윈도우 클래스 이름
: :
: : int WINAPI WinMain(HINSTANCE hThisInst, HINSTANCE hPrevInst,
: : LPSTR lpszArgs, int nWinMode)
: : {
: : HWND hwnd;
: : MSG msg;
: : WNDCLASS wcl;
: :
: : // 윈도우 클래스 정의
: : wcl.hInstance = hThisInst; // 현재 인스턴스에 대한 핸들
: : wcl.lpszClassName = szWinName; // 윈도우 클래스 이름
: : wcl.lpfnWndProc = WindowFunc; // 윈도우 함수
: : wcl.style = 0;
: :
: : wcl.hIcon = LoadIcon(NULL, IDI_APPLICATION); // 아이콘 유형
: : wcl.hCursor = LoadCursor(NULL, IDC_ARROW); // 커서 유형
: : wcl.lpszMenuName = NULL; // 메뉴 없음
: :
: : wcl.cbClsExtra = 0; // 추가 클래스 없음
: : wcl.cbWndExtra = 0; // 요구 정보
: :
: : // 윈도우 배경을 흰색으로 만듬
: : wcl.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
: :
: : // 윈도우 클래스 등록
: : if(!RegisterClass (&wcl)) return 0;
: :
: : // 윈도우 클래스가 정의되었으므로 윈도우가 생성될 수 있다.
: : hwnd = CreateWindow(
: : szWinName, // 윈도우 클래스 이름
: : "Windows 2000 Skeleton", // 제목
: : WS_OVERLAPPEDWINDOW, // 윈도우 유형-정규
: : CW_USEDEFAULT, // X 좌표
: : CW_USEDEFAULT, // Y 좌표
: : CW_USEDEFAULT, // 너비
: : CW_USEDEFAULT, // 높이
: : HWND_DESKTOP, // 페어런트 윈도우가 없음
: : NULL, // 메뉴 없음
: : hThisInst, // 프로그램의 현재 인스턴스에 대한 핸들
: : NULL
: : );
: :
: : // 윈도우의 화면표시
: : ShowWindow(hwnd, nWinMode);
: : UpdateWindow(hwnd);
: :
: : // 메시지 루프의 생성
: : while(GetMessage(&msg, NULL, 0, 0))
: : {
: : TranslateMessage(&msg); // 키보드 사용을 허용한다.
: : DispatchMessage(&msg); // 윈도우에 제어요소를 반환한다.
: : }
: : return msg.wParam;
: : }
: : //---------------------------------------------------------------------------
: :
: : // 이 함수는 Windows 의해서 호출되며 메시지 큐로부터 메시지를 전달받는다.
: : LRESULT CALLBACK WindowFunc(HWND hwnd, UINT message, WPARAM wParam,
: : LPARAM lParam)
: : {
: : switch(message)
: : {
: : case WM_DESTROY:
: : PostQuitMessage(0);
: : break;
: : default:
: : return DefWindowProc(hwnd, message, wParam, lParam);
: : }
: : return 0;
: : }
: : //---------------------------------------------------------------------------
: :
: : 무슨 문제인가요.. (링크에러가 잴루 시러~~)
|