Bonjour à tous
J'ai un problème avec SDL Mixer 2.0.1 et Codeblocks.
Si je compile normalement mon programme, il fonctionne et le son aussi.
Mais si je le compile avec le débugger (GDB), alors, la fenêtre s'ouvre, mais se freeze dès que la commande Mix_OpenAudio est employée.
J'ai essayé sur 2 windows et une machine virtuelle Ubuntu récente, rien n'y fait.
L'erreur affichée est :
Auriez-vous une idée sur ce que je peux faire pour résoudre le problème ?[debug]Program received signal ?, Unknown signal.
[debug][Switching to Thread 13624.0x263c]
[debug]0x76eea6f2 in RaiseException () from C:\WINDOWS\SysWoW64\KernelBase.dll
[debug]>>>>>>cb_gdb:
In RaiseException () (C:\WINDOWS\SysWoW64\KernelBase.dll)
[debug]> bt 30
[debug]#0 0x76eea6f2 in RaiseException () from C:\WINDOWS\SysWoW64\KernelBase.dll
[debug]#1 0x6c81b14c in SDL_LogCritical () from D:\C\RGVM\SDL2.dll
[debug]#2 0x406d1388 in ?? ()
[debug]#3 0x00000000 in ?? ()
[debug]>>>>>>cb_gdb:
[debug]> quit
[debug]error return ../../gdb-7.6.1/gdb/windows-nat.c:1275 was 5
Debugger finished with status 0
Voici un morceau de mon source, sachant que SDL_INIT_AUDIO a été initialisé avec succès :
EDIT: Pour Ubuntu, c'est corrigé, c'était autre chose.
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 // load support for the OGG sample/music formats int flags = MIX_INIT_OGG; int initted = Mix_Init(flags); if((initted & flags) != flags) { printf("Mix_Init: Impossible d'initialiser le support ogg !\n"); printf("Mix_Init: %s\n", Mix_GetError()); return 1; } // TODO: résoudre le bug qui empêche GDB de fonctionner (ici !!!) if(Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, MIX_DEFAULT_CHANNELS, 2048) < 0) { fprintf(stdout,"Impossible d'ouvrir Mix_OpenAudio: %s", SDL_GetError()); return 1; } // Allouer 16 canneaux de mixage Mix_AllocateChannels(16);
En farfouillant sur le net, j'ai remarqué que ce problème semble provenir d'un bug de MinGW.
Je vais donc voir si je peux le mettre à jour par rapport à CodeBlocks 16.01.
Sinon, je vais voir où reporter le problème.
Si quelqu'un sait comment le contourner, je suis preneur.
EDIT2: J'ai mis à jour GDB en installant TDM gcc mais le bug persiste.
Partager