Bonjour à tous
Actuellement, je travaille sur la conception d'un petit jeu sous windows. En ce qui concerne le son, je souhaiterai utiliser la libvorbis et libogg. (la libogg est nécessaire à la compilation de la libvorbis)
Je compile sans soucis les deux libs et j'essai un petit programme de test :
A la compilation aucun problème, mais lorsque je lance lance le programme j'ai un segmentation fault au moment de l'appel de ov_fopen ou ov_open_callbacks (dans les deux cas).
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 #include <stdio.h> #include <stdlib.h> #include <math.h> #include "vorbis/codec.h" #include "vorbis/vorbisfile.h" #include <iostream> #include <io.h> #include <fcntl.h> char pcmout[4096]; int main(int argc, char **argv) { OggVorbis_File vf; FILE * fic; fic=fopen("./menu.ogg","rb"); if(fic) { std::cerr<< "prout" << std::endl; } //ici j'ai testé les deux fonction suivantes et j'obtiens la même erreur //if(ov_open_callbacks(fic, &vf, NULL, 0, OV_CALLBACKS_DEFAULT) < 0) if(ov_fopen("./menu.ogg",&vf)<0) { fprintf(stderr,"Input does not appear to be an Ogg bitstream.\n"); exit(1); } else { std::cerr<< "youpi on a ouvert" << std::endl; } ov_clear(&vf); fprintf(stderr,"Done.\n"); return(0); }
j'ai lancé gdb pour essayer d'avoir plus d'information :
(gdb) bt
#0 0x77509e03 in ntdll!RtlEncodePointer () from C:\Windows\SysWOW64\ntdll.dll
#1 0x77509d12 in ntdll!RtlEncodePointer () from C:\Windows\SysWOW64\ntdll.dll
#2 0x60866fa3 in msys-1.0!cfsetispeed ()
from C:\MinGW\msys\1.0\bin\msys-1.0.dll
#3 0x00000002 in ?? ()
#4 0x0028fad8 in ?? ()
#5 0xfffffffc in ?? ()
(gdb)
merci gdb ^^
J'ai essayé de recompiler les libs sans observer le moindre changement
est-ce que quelqu'un aurait la moindre idée de ce que j'ai raté?
merci de votre attention
Partager