Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/07/2006, à 11:07

Yakuma

Problème de compilation SDL

Bonjour tout le monde,

Je suis en train de coder un bomberman (je viens de commencer)
Il se compose de 3 fihchiers: main.c, menu.c, menu.h.
Le main.c affiche une image à l'ecran puis il appelle une fonction menu() quand j'appuie sur Entrée qui est situé dans menu.c, j'ai déclaré le prototype de cette fonction dans menu.h .
Cette fonction appelle une autre image et ecrit un texte à l'écran avec SDL_ttf.
Pour compiler, j'ai taper dans un terminal:

sudo gcc -o test *.c -lSDL -lSDL_ttf

La compilation se passe bien puis quand je tape :

./test

Le programme se lance mais quand je fais entrée, le programme se quitte avec le message suivant (dans le terminal) :

Segmentation Fault (SDL Parachute Deployed)

Avec Code Blocks, aucune erreur de compilation mais ca ne marche toujours pas.
Ce qui est bizarre dans tout ca, c'est que le programme marche très bien sous Windows et quand je lance l'application Windows à partir de wine, ca marche!

Je vous demande donc votre aide pour ce problème plutôt embetant.

Hors ligne

#2 Le 09/07/2006, à 04:01

lost-in-the-shell

Re : Problème de compilation SDL

Hello,
Les causes d'une erreur de segmentation sont nombreuses. Vérifie tes pointeurs, vérifie aussi que tu n'essaie pas d'accéder à un membre T d'un tableau de taille T (l'indice maximal d'un tableau[T] est (T-1), faut pas oublier le 0).
Si tu ne trouves toujours pas, envoie nous ton code source.

Conseil : les erreurs de segmentation étant des erreurs logiques, elles ne sont pas signalées lors de la compilation mais lors de l'éxecution. Lorsque j'en rencontre, je balise mon code afin de cibler le problème. Exemple :

/* mon code 1 */
printf("%d\n", __LINE__);
/* mon code 2 */
printf("%d\n", __LINE__);
/* mon code 3 */

Il suffit de voir à quelle ligne le programme est arrivé pour comprendre d'où vient l'erreur.


Linux user #401253 - Ubuntu user #3023 .
Nick sur IRC : naji.
Pensez à adhérer au Comité de lutte contre le SMS.

Hors ligne

#3 Le 09/07/2006, à 04:15

foobar2000

Re : Problème de compilation SDL

Tu peux aussi utiliser gdb pour trouver la ou ca plante :

$ gdb tonappli
$ r
[tu fais en sorte que ca segfault]
$ bt

Aucun rapport avec le logiciel du même nom.

Hors ligne

#4 Le 09/07/2006, à 04:34

lost-in-the-shell

Re : Problème de compilation SDL

Ah ben je connaissais pas ça, merci pour l'info smile Je me lance dans les pages de man, du coup.

Dernière modification par lost-in-the-shell (Le 09/07/2006, à 04:36)


Linux user #401253 - Ubuntu user #3023 .
Nick sur IRC : naji.
Pensez à adhérer au Comité de lutte contre le SMS.

Hors ligne