Forum de la communauté SFML

Aide => Audio => Discussion démarrée par: ronan13 le Septembre 09, 2018, 09:51:31 pm

Titre: [BUG] le module audio empeche la portabilité ?
Posté par: ronan13 le Septembre 09, 2018, 09:51:31 pm
Bonjour,
Version courte:
sfml-audio si compilé avec mysys2 (gcc version 6.3.0 (MinGW.org GCC-6.3.0-1)) en version 32bit sur un PC win8.1 générai une erreur au démarage du programme (0x000007b) sous les ordinateur ayant windows 7(professionnal).
Attention: le programme marche sous 8.1. et l'erreur se passe même si on active/déactive la case SFML_USE_SYSTEM_DEPS
Version longue:
Ayant participé a une game jam (mais n'ayant pas posté le jeux) j'ai voulut passer mon programme à des connaissances: à mon grand désarroi tout ceux sous windows 7 se retrouvent dans l'incapacité de lancer le programme sans un erreur 0x000007b. Il se trouve que après une courte recherche (suppression de wiiuse de mon projet) SFML ou mon compilateur serait en tort. Après quelque semaine a laisser le problème reposer je m'y suis remis aujourd'hui. Je me suis rendu compte que mon programme compilait correctement si j’enlevai sfml-audio et tout ce qui était lié. Je me suis donc empressé de compiler les exemples pour voir si c’était sfml-audio et il semblerai que ce soit le cas. Le programme affiche l’erreur en question quand je le compile puis que je l’exécute dans ma VM de windows 7, alors que mon programme fonctionne parfaitement sans SFML-audio dans cette même VM.
Personellement je pense que ça vient de openAL.
Respectueusement,
Ronan13.
Titre: Re: [BUG] le module audio empeche la portabilité ?
Posté par: Laurent le Septembre 10, 2018, 08:15:43 am
Tu utilises et distribues bien la DLL de OpenAL qui est fournie avec la version de SFML que tu utilises ?
Titre: Re: [BUG] le module audio empeche la portabilité ?
Posté par: ronan13 le Septembre 10, 2018, 10:58:47 am
Oui.
j’utilise la version fournie lorsque je fait un mingw32-make install et en allant dans le dossier d'installation de la SFML
Titre: Re: [BUG] le module audio empeche la portabilité ?
Posté par: Laurent le Septembre 10, 2018, 11:20:45 am
Il faudrait que tu installes de quoi debugger dans ta VM Windows 7, afin d'avoir plus de précisions quant à l'erreur.
Titre: Re: [BUG] le module audio empeche la portabilité ?
Posté par: ronan13 le Septembre 10, 2018, 11:23:12 am
Bonjour,
aussi loin que je sache ce genre d'erreur se passe avant que gdb prenne la main (j'ai essayé sur le pc d'un proche et on n'a pas pu en tirer grandchose)
Mais je vais essayer. Ce Soir surement.
Titre: Re: [BUG] le module audio empeche la portabilité ?
Posté par: Laurent le Septembre 10, 2018, 11:58:14 am
Regarde s'il ne manque pas une dépendance de OpenAL32.dll ou sfml-audio.dll, avec Dependency Walker. Tu peux aussi vérifier s'il n'y a pas d'incohérence 32/64 bits.
Titre: Re: [BUG] le module audio empeche la portabilité ?
Posté par: ronan13 le Septembre 10, 2018, 12:15:26 pm
Voici ce que j'ai averc gdb (sur un exemple en realease)
$ gdb '/c/Users/temp/Desktop/temp/tst audio/sound.exe'
GNU gdb (GDB) 8.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-w64-mingw32".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from C:/Users/temp/Desktop/temp/tst audio/sound.exe...done.
(gdb) r
Starting program: C:\Users\temp\Desktop\temp\tst audio\sound.exe
[New Thread 3864.0xc98]
During startup program exited with code 0xc000007b.

Je verrai ce soir pour les dépendances !
pour les incoherances je sait pas (je rapelle que sound marche sur mon windows 8.1 meme avec un path vide)
EDIT : en fait c'est juste qu'il installe la mauvaise DLL. J'ai essayé openAl version 32-bit et ça marche.
Etape pour reproduire le bug (je suppose) :
1) installer msys2 version x86_64
2) installer mingwi686
3) compiler SFML pour cette version
4) compiler n'importe quel programme avec sfml-audio
5) mettre les dll et donner a une personne possedant windows 7
6) le voir planter
Pour résoudre le problème il faut juste lui donner la dll 32 bit.