none
Acerca de DirectX RRS feed

  • Pregunta

  • Saludos, disculpen las molestias pero quisiera empezar a programar con DirectX utilizando C++, mi pregunta es la siguiente:

    Cuando trato de compilar un win32 proyect en VS 2010 y copeo el codigo de un libro:

    // Include the Windows header file that’s needed for all Windows applications
    
    #include <windows.h>
    
    HINSTANCE hInst; // global handle to hold the application instance
    
    HWND wndHandle; // global variable to hold the window handle
    
    // forward declarations
    
    bool initWindow( HINSTANCE hInstance );
    
    LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );
    
    // This is winmain, the main entry point for Windows applications
    
    int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
    
    LPTSTR lpCmdLine, int nCmdShow )
    
    {
    
    // Initialize the window
    
    if ( !initWindow( hInstance ) )
    
    return false;
    
    // main message loop:
    
    MSG msg;
    
    ZeroMemory( &msg, sizeof( msg ) );
    
    while( msg.message!=WM_QUIT )
    
    {
    
    // Check the message queue
    
    while (GetMessage(&msg, wndHandle, 0, 0) )
    
    {
    
    TranslateMessage( &msg );
    
    DispatchMessage( &msg );
    
    }
    
    }
    
    return (int) msg.wParam;
    
    }
    
    

    Me aparece un error que dice algo asi como que WinMain ya existe y no puede sobreescribirse, revisando en internet encontre que tenia que cambiar el set de caracteres a not set (en project->properties) y me salio otro error pero ahora de linkeo. Entonce buscando en internet me dice que debo especificar la ruta de la libreria de DirectX pero como se hace esto?.

    Espero su ayuda muchas gracias.

    domingo, 26 de septiembre de 2010 18:26

Respuestas

  • El ejemplo que has pegado no tiene nada de DirectX, por lo que de momento no te hace falta.

    El primer error que te da se puede deber a tres cosas:

    -En tu proyecto hay dos funciones WinMain, el original que crea el asistente y el que tu has pegado.

    -La firma del WinMain que tu has pegado no se corresponde con la del WinMain que VC++ espera (mira la que te genera el asistente).

    -Has elegido un proyecto MFC (que ya lleva incorporada su WinMain internamente y por tanto entra en conflicto con la tuya).


    MVP Visual C++ - Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/
    • Marcado como respuesta GerogeJ domingo, 26 de septiembre de 2010 23:44
    domingo, 26 de septiembre de 2010 21:13
    Moderador

Todas las respuestas

  • El ejemplo que has pegado no tiene nada de DirectX, por lo que de momento no te hace falta.

    El primer error que te da se puede deber a tres cosas:

    -En tu proyecto hay dos funciones WinMain, el original que crea el asistente y el que tu has pegado.

    -La firma del WinMain que tu has pegado no se corresponde con la del WinMain que VC++ espera (mira la que te genera el asistente).

    -Has elegido un proyecto MFC (que ya lleva incorporada su WinMain internamente y por tanto entra en conflicto con la tuya).


    MVP Visual C++ - Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/
    • Marcado como respuesta GerogeJ domingo, 26 de septiembre de 2010 23:44
    domingo, 26 de septiembre de 2010 21:13
    Moderador
  • Gracias RFOG, a que te refieres con un proyecto MFC?
    domingo, 26 de septiembre de 2010 23:38
  • Sí.
     
    On Mon, 27 Sep 2010 01:38:21 +0200, <GerogeJ> wrote:
     
    > Gracias RFOG, a que te refieres con un proyecto MFC?
     -- 
    Microsoft Visual C++ MVP => http://geeks.ms/blogs/rfog
    ======================== =============== Rara vez se equivoca quien piensa de las mujeres lo peor que puede.
     -- John Home. (1722-1808) Escritor escocés.
     

    MVP Visual C++ - Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/
    lunes, 27 de septiembre de 2010 7:09
    Moderador