Autor Tema: error en ventana simple  (Leído 3312 veces)

Desconectado intropedro

  • Junior Member
  • **
  • Mensajes: 17
error en ventana simple
« en: 23 de Septiembre de 2004, 09:21:22 pm »
Hola, tengo un problemilla estoy haviendo un programa de ventana simple con visual studio 6 y me sale un error al compilar:

Código: [Seleccionar]
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/ventana.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

ventana.exe - 2 error(s)


El codigo es un ejemplo de una web y supongo que estara bien:

Código: [Seleccionar]
#include <windows.h>

const char g_szClassName[] = "myWindowClass";

// Step 4: the Window Procedure
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch(msg)
    {
        case WM_CLOSE:
            DestroyWindow(hwnd);
        break;
        case WM_DESTROY:
            PostQuitMessage(0);
        break;
        default:
            return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    WNDCLASSEX wc;
    HWND hwnd;
    MSG Msg;

    //Step 1: Registering the Window Class
    wc.cbSize        = sizeof(WNDCLASSEX);
    wc.style         = 0;
    wc.lpfnWndProc   = WndProc;
    wc.cbClsExtra    = 0;
    wc.cbWndExtra    = 0;
    wc.hInstance     = hInstance;
    wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
    wc.lpszMenuName  = NULL;
    wc.lpszClassName = g_szClassName;
    wc.hIconSm       = LoadIcon(NULL, IDI_APPLICATION);

    if(!RegisterClassEx(&wc))
    {
        MessageBox(NULL, "Window Registration Failed!", "Error!",
            MB_ICONEXCLAMATION | MB_OK);
        return 0;
    }

    // Step 2: Creating the Window
    hwnd = CreateWindowEx(
        WS_EX_CLIENTEDGE,
        g_szClassName,
        "The title of my window",
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
        NULL, NULL, hInstance, NULL);

    if(hwnd == NULL)
    {
        MessageBox(NULL, "Window Creation Failed!", "Error!",
            MB_ICONEXCLAMATION | MB_OK);
        return 0;
    }

    ShowWindow(hwnd, nCmdShow);
    UpdateWindow(hwnd);

    // Step 3: The Message Loop
    while(GetMessage(&Msg, NULL, 0, 0) > 0)
    {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
    }
    return Msg.wParam;
}


Hago algo mal?

Saludos

Desconectado ALP

  • Member
  • ***
  • Mensajes: 234
error en ventana simple
« Respuesta #1 en: 01 de Octubre de 2004, 12:29:44 am »
¿Has comprobado el tipo de proyecto? El enlazador está buscando main() en lugar de WinMain(). El código parece correcto.


Un saludo.
Si no puedes deslumbrar con tu sabiduría, desconcierta con tus gilipolleces.

Desconectado intropedro

  • Junior Member
  • **
  • Mensajes: 17
error en ventana simple
« Respuesta #2 en: 01 de Octubre de 2004, 06:16:13 pm »
Hola,  pues al final lo e lograo hacer funcionar, creo que era porque la tenia en un fichero ventana.cpp y lo cambie por main.c y ya me compila.

Saludos

Desconectado ALP

  • Member
  • ***
  • Mensajes: 234
error en ventana simple
« Respuesta #3 en: 01 de Octubre de 2004, 07:26:53 pm »
:shock:  Me quedo pasmao.   :shock:

Que yo sepa, el nombre del fichero no tiene por qué dar ese error. Quizás sea la extensión....
Si no puedes deslumbrar con tu sabiduría, desconcierta con tus gilipolleces.

Desconectado intropedro

  • Junior Member
  • **
  • Mensajes: 17
error en ventana simple
« Respuesta #4 en: 01 de Octubre de 2004, 08:59:05 pm »
Hola, pos no te equivocabas, era lo del tipo de proyecto, esque lo movi un poco y copie el archivo con nombre main.c y cree un proyecto nuevo por eso me iba bien, porque e probado a modificar el nombre del fichero a main.c en el proyecto que me daban y me segia dando el problema.

Saludos

 

Aviso Legal | Política de Privacidad | Política de Cookies

el contenido de la web se rige bajo licencia
Creative Commons License