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

OpenGL Discussion :

[SDL_Image] Img_Load : segmentation fault ....


Sujet :

OpenGL

  1. #1
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut [SDL_Image] Img_Load : segmentation fault ....
    bonsoir
    voila
    dans mon programme j'exécute les deux méthodes suivantes l'une apres l'autre
    j'obtient un segmentation faul SDL parachute deployed lors du chargement avec img_load()

    aisje oublié quelque chose dans initialiser_affichage_SDL ? ??

    je précise que j'ai un exécutable d'une version précédente qui marche impécable
    seulement g perdu les sources
    donc je peut pas comparer ...


    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
     
    void Moteur3D::initialiser_affichage_SDL()
    {
     
        //===================
        // Initialiser la vidéo
        //===================
        if(SDL_Init(SDL_INIT_VIDEO)!=0)
        {
     printf("[ ERREUR  ]   Initialisation de la vidéo via SDL impossible.\n");
     SDL_Quit();
     exit(1);
        }
     
        //====================
        // Création de l'écran d'affichage
        //====================
        if(fullScreen==false)
        {
     ecran=SDL_SetVideoMode(resX,resY,nbBitParPixel,SDL_HWSURFACE);
        }
        else
        {
     ecran=SDL_SetVideoMode(resX,resY,nbBitParPixel,SDL_HWSURFACE|SDL_FULLSCREEN);
        }
     
        if(ecran==NULL)
        {
     SDL_Quit();
     printf("[ ERREUR  ]  La fenêtre n'a pas pu être créée.");
     SDL_Quit();
     exit(1);
        }
        else
        {
     printf("[    OK    ]  Création de la fenêtre %d x %d x %d\n",resX,resY,nbBitParPixel);
     // Donner un nom a la fenêtre
     SDL_WM_SetCaption("Mon Jeu","Mon Jeu"); 
        }  
        //=======================
        // Attributs SDL
        //=======================
        SDL_EnableKeyRepeat(1,1);  // Répétition des touches
        SDL_ShowCursor(SDL_ENABLE);  // Masquer le curseur de la souris
       // SDL_WM_GrabInput(SDL_GRAB_ON); // Autoriser la souris a dépasser les limites de l'écran
     
    }
     
    void Moteur3D::afficher_intro()
    {
        SDL_Surface *surf_image1;
        SDL_Surface *surf_image2;
        SDL_Rect dest;
        SDL_Event event;
        float last_time = 0.0;
        float current_time=0.0;
     float temps;
        int compteur=1;
        bool encore=true;
        char * image1 = "images/titre.png";
        char * image2 = "images/titre_2.png";
     
        // Charger les images PNG en mémoire vidéo.
     
     
     
        surf_image1 = IMG_Load(image1);         //Ligne qui plabnte
        if ( surf_image1 == NULL ) 
        {
            printf("[  ERREUR  ] Le fichier %s est manquant",image1);
            SDL_Quit();
            exit(1);
        }
     
        surf_image2 = IMG_Load(image2);
        if ( surf_image2 == NULL ) 
        {
            printf("[  ERREUR  ] Le fichier %s est manquant",image2);
            SDL_Quit();
            exit(1);
        }
     
    .
    .
    .
    .
    }

  2. #2
    Membre chevronné Avatar de Jbx 2.0b
    Homme Profil pro
    Développeur C++/3D
    Inscrit en
    Septembre 2002
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur C++/3D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2002
    Messages : 476
    Points : 1 787
    Points
    1 787
    Par défaut
    j'ai beau chercher je vois pas d'erreur. C'est peut-être autre part dans ton code...

  3. #3
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    remplace
    char * image1 = "images/titre.png";
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char image1[] = "images/titre.png";

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    théoriquement c la même chose
    non ?

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    le fait que des pointeurs aient été mal alloué ou désalloué dans mon code
    ( qui fonctionne marche )
    peut il avoir un influance sur img_load ?

  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 : 40
    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
    Une erreur de gestion de la mémoire (via pointeurs), ce sera probablement un comportement indéterminé, et ça ce sera potentiellement un plantage n'importe où et n'importe quand dans ton programme. Donc oui, regarde de ce côté également.

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    ouhai
    le problème venait de la
    merci a tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Fortran 77] Segmentation fault
    Par vinche dans le forum Fortran
    Réponses: 1
    Dernier message: 29/06/2005, 11h03
  2. Pb segmentation fault avec glutinit()
    Par pipistrelle dans le forum GLUT
    Réponses: 2
    Dernier message: 17/11/2004, 23h17
  3. [REDHAT] Segmentation fault systematique
    Par mela dans le forum RedHat / CentOS / Fedora
    Réponses: 2
    Dernier message: 21/09/2004, 06h05
  4. Réponses: 13
    Dernier message: 13/07/2004, 15h41
  5. Comment contrer la "segmentation fault" ?
    Par guillaume_pfr dans le forum C
    Réponses: 15
    Dernier message: 08/08/2003, 13h43

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