Pages : 1
#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 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
Pages : 1