IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

[C++/DirectX - Débutant] Erreur dans une application


Sujet :

C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut [C++/DirectX - Débutant] Erreur dans une application
    Salut à tous!
    Je ne trouve vraiemnt pas ce qui est faux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
     
    #include "windows.h"
    #include "ddraw.h"
     
    bool InitDDObject(HWND);
    LPDIRECTDRAW lpDD;
     
    LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) 
    {
        switch(message) 
        { 
            case WM_KEYDOWN : 
                 PostQuitMessage(0);
                 break;
     
            case WM_DESTROY : 
                 PostQuitMessage(0); // ici, on intercepte le message de destruction
                 break;
     
            case WM_PAINT : // dessin de la zone client de l'application
            {
                PAINTSTRUCT PaintStruct; 
                HDC PaintDC=BeginPaint( hwnd, &PaintStruct ); 
                EndPaint( hwnd, &PaintStruct );
            }
            break;
        }
        return DefWindowProc( hwnd, message, wParam, lParam );
    }
     
    int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevInst,LPSTR lpszCmpParam,int nCmdShow) 
    {
        WNDCLASS W; // structure de classe de fenêtre
        HWND hwnd;
        LPSTR Name = "Application";
        MSG msg;
     
        // remplissage de la structure de classe    
        memset( &W, 0, sizeof(WNDCLASS) );
        W.style = CS_HREDRAW | CS_VREDRAW;
        W.hInstance = hInst;
        W.lpszClassName = Name;
    	W.hbrBackground =(HBRUSH)  GetStockObject( BLACK_BRUSH );
        W.lpfnWndProc = WndProc; // lien vers la procédure de fenêtre
        RegisterClass( &W ); // enregistrement dans Windows de la structure
     
        // Création de la fenêtre avec toutes les options nécessaires (taille = taille de l'écran)
        hwnd = CreateWindowEx( 0, Name, Name, WS_POPUP, 0, 0, 
    		GetSystemMetrics( SM_CXSCREEN ), GetSystemMetrics( SM_CYSCREEN ), 
    		NULL, NULL, hInst, NULL ); 
     
        // Affichage de la fenêtre
        ShowWindow( hwnd, nCmdShow ); 
        UpdateWindow( hwnd );
     
    	InitDDObject ( hwnd ) ;
     
        // Boucle d'écoute des messages
        while( GetMessage( &msg, NULL, 0, 0) ) 
        { 
            TranslateMessage( &msg ); 
            DispatchMessage( &msg );
        }
        return msg.wParam; 
    }
     
    bool InitDDObject(HWND hwnd)
    {
        HRESULT ddrval ; 
     
        // Création de l'objet DirectDraw
    	ddrval = DirectDrawCreate ( NULL , &lpDD , NULL ) ; 
        if ( ddrval != DD_OK ) 
            return ( false ) ;
     
        // Mode exclusif
    	ddrval = lpDD->SetCooperativeLevel( hwnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN ) ; 
        if ( ddrval != DD_OK )
        {
            lpDD->Release ( ) ;
            return ( false ) ;
        }
     
        // Reglage du mode d'affichage
    	ddrval = lpDD->SetDisplayMode( 640, 480, 8); 
        if ( ddrval != DD_OK ) 
        {
            lpDD->Release ( ) ;
            return(false) ;
        } 
        return ( true ) ; 
    }
    Dans VS.NET 2003, on me dit :
    Sa me met un de ces truc....
    en gros : error LNK2001
    error1120

    Et dans DevC++, on me dit :
    [linker error] undefined reference to 'GetStockObject@4'
    [linker error] undefined reference to 'DirectDrawCreate@12'
    id retourned 1 exit status
    [Build Error] [Projet.exe] error 1
    Jespere que vous arriverez a me réponde, A++ et merci davance!

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Tu ne lies pas avec les bonnes bibliothèques. Fais une recherche sur Google ou la MSDN pour trouver avec quels .lib il faut lier pour ces fonctions.

    PS : DirectDraw est n'existe plus depuis déjà quelques années...

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Ok merci.

    Y-a-t-il quelque chose qui remplace DirectDraw? merci a++

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    DirectGraphics

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Okay merci!

    Auriez-vous des tutorials (en français) sur ce sujet?

    Merci a++!

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Je n'en ai pas sous la main, mais je pense que Google t'en donnera quelques uns. Mais bon honêtement, si tu veux aller plus loin avec les APIs graphiques il faudra se mettre à l'anglais tôt ou tard .

    En général les tutoriels / samples / docs du SDK DirectX sont un bon point de départ.

  7. #7
    Futur Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Arg, je trouve vraiment pas, ça fait une heure que je cherche mais rien de bien...

    T'aurais pas des liens?

    merci a++

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Essaye de commencer par ce qui se trouve dans le SDK. Ensuite, n'hésite pas à aller fouiller sur gamedev.net ou flipcode.org, et à faire des recherches sur des pages anglophones. C'est vrai que pour trouver des ressources en français, tu vas peut-être galérer un peu...

Discussions similaires

  1. gérer les erreurs dans une application web java
    Par flamant dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 22/06/2009, 12h10
  2. erreur dans une application avec BD mysql
    Par GoldenEyes dans le forum Ruby on Rails
    Réponses: 7
    Dernier message: 10/06/2009, 12h24
  3. [débutant] erreur dans une fonction
    Par Skizo dans le forum Access
    Réponses: 7
    Dernier message: 18/05/2006, 10h46
  4. Réponses: 2
    Dernier message: 02/05/2006, 09h32
  5. Réponses: 9
    Dernier message: 21/02/2006, 09h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo