|
환경이 콘솔이라고 하셨네요...
컴파일은 문법 오류만 없다면 문제가 없습니다.
그러나, 링크시에 콘솔에서는 링커가 _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;
: }
: //---------------------------------------------------------------------------
:
: 무슨 문제인가요.. (링크에러가 잴루 시러~~)
|