IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Pb installation de sdl_mixer


Sujet :

SDL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2019
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2019
    Messages : 49
    Points : 26
    Points
    26
    Par défaut Pb installation de sdl_mixer
    Bonjour,
    Je suis actuellement en train de programmer un jeu de morpion qui fonctionne très bien.
    Lorsque j'exécute mon programme, j'ai ma fenêtre sdl et en arrière plan la fenêtre de la console (qui peut tout fermer lorsque je clique sur sa croix).

    Je veux ajouter du son avec sdl_mixer pour sdl version 1.2.
    Depuis, que j'ai installé les fichiers dans MING/Include et MING/lib et dans mon projet et linker (..\..\..\MinGW\lib\SDL_mixer.lib), lorsque je clique sur la croix de la fenêtre de la console, j'ai le message d'erreur "morpion.exe a cessé de fonctionner - Windows recherche une solution au problème", puis "morpion.exe a cessé de fonctionner - Un problème a fait que le programme a cesser de fonctionner [...]". Lorsque je ferme mon jeu avec mes boutons traditionnels, tout se déroule bien.

    J'ai essayé d’installer sdl_mixer-1.2.8 et puis sdl_mixer-1.2.12. C'est le même problème.
    J'ai supprimé projet- option de generation-option de l'editeur de liens- ...-sdl_mixer.lib mais le message d'erreur apparaît toujours.

    Il y a sûrement quelque chose que je fais mal, mais je ne vois pas quoi.

    En détaillant un peu plus :
    Si je pars d'une version sans son, que je ne mets projet- option de generation-option de l'editeur de liens- ...-sdl_mixer.lib pas et que je rajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #include <SDL/SDL_mixer.h>
    [...]
     
         if(Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, MIX_DEFAULT_CHANNELS, 1024) == -1) //Initialisation de l'API Mixer
       {
          printf("%s", Mix_GetError());
       }
    alors mon programme ne fonctionne plus (undefined reference to Mix_OpenAudio).

    Si je rajoute projet- option de generation-option de l'editeur de liens- ...-sdl_mixer.lib, alors le programme fonctionne bien, mais j'ai le message d'erreur lorsque je ferme avec la console.
    Si je supprime projet- option de generation-option de l'editeur de liens- ...-sdl_mixer.lib, le programme fonctionne, mais j'ai le message d'erreur lorsque je ferme avec la console.
    Etrange?car le lien a été supprimé. Je ne comprends pas ce qu'il se passe.

    Je remercie tous ceux qui voudront bien m'aider et me fournir une explication.

    Cordialement

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Si cela compile et se lance, c'est que vous avez déjà réussi la configuration du projet.
    Du coup, c'est une erreur dans le code, je pense une mauvaise gestion de lorsque l'utilisateur clique sur la croix.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2019
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2019
    Messages : 49
    Points : 26
    Points
    26
    Par défaut
    Merci de votre réponse.
    Comme vous le dites, le programme compile et se lance parfaitement donc je ne pensais pas que c’était un problème configuration du projet.
    C'est pour cela que je suis parti d'une version sans son pour vérifier si j'étais bien obligé de configurer le projet en insérant "projet- option de generation-option de l'editeur de liens- ...-sdl_mixer.lib". J'étais bien obligé de le faire, sinon le programme ne compilait pas.
    Pourquoi est-ce que en supprimant projet- option de generation-option de l'editeur de liens- ...-sdl_mixer.lib, il ne me signale pas un problème de compilation ? (le lien supprimé est-il encore gardé en mémoire quelque part ?).

    Dans mon projet, j'ai une fenêtre sdl et une fenêtre dos en arrière plan.
    Le clic Croix de la fenêtre SDL fonctionne bien.
    Le clic Croix de la fenêtre DOS pose problème et signale des erreurs de windows.
    une image pour illustrer :
    <a href>https://www.casimages.com/i/201223072743185095.jpg.html' title='Mon image'>Lien vers mon image</a>


    Je ne sais pas s'il s'agit d'un problème de mon code, ou de code blocks.
    Est-il possible depuis mon code de modifier le comportement du clic croix de la fenêtre DOS ?

    J'ai vu qu'il était possible de cacher la fenêtre DOS, du coup, je ne verrais plus le problème.
    Sauf que cette fenêtre est utile lorsque mon programme plante et tourne en boucle.

    Du coup, je ne sais pas quoi faire.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2019
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2019
    Messages : 49
    Points : 26
    Points
    26
    Par défaut
    De plus, lorsque je ferme ma fenêtre sdl et qu'il ne me reste plus que la fenêtre dos, si je clique sur la croix, celle-ci se ferme sans message d'erreur.

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    La fenêtre DOS est très optionnelle, voir inutile. Vous pouvez la désactiver, comme indiquer dans les FAQ de ce site (ou sur Internet).
    Maintenant, oui, votre code est en relation avec la fenêtre DOS. Globalement, en quittant la fenêtre DOS, vous déclenchez l'arrêt de votre programme. Si votre programme est bien codé, cela ne pose pas de problème, vous faites la libération des ressources et tout ce qu'il faut faire, proprement. Mais si vous gérez mal ce cas, alors vous pouvez entrer dans un comportement plus ou moins déterminé.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Citation Envoyé par chamludo Voir le message
    Dans mon projet, j'ai une fenêtre sdl et une fenêtre dos en arrière plan.
    la fenêtre "dos" est là sur Windows , si vous compilez en mode console (donc si vous voulez pas l'avoir , il faut compilez en mode GUI ).

    Après je pense que c'est un peu faux de parler de fenêtre dos , (MS-)DOS est un OS qui n'existe plus sur Windows , ni même émulé , même si Windows reprend en partie des command du MS-DOS (mais il me semble qu'on peut avoir des command du type Unix maintenant).

    Le clic Croix de la fenêtre DOS pose problème et signale des erreurs de windows.
    Oui , c'est normal vu que ton main se trouve sur ta GUI donc tu as un message d'erreur qui te dit que le programme ne s'est pas terminé correctement si tu le ferme sur la console.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2019
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2019
    Messages : 49
    Points : 26
    Points
    26
    Par défaut
    Merci de vos réponse.
    Je viens en effet de voir dans l'onglet de codeblock projet-Propriete-Cible de generation-Type-ApplicationConsole.
    Je viens de changer en ApplicationGraphique et effet la fenêtre en arrière plan a disparu et ne pose plus de problème.

    Du coup, comme me le suggérait LittleWhite, peut-être que mon code contient une erreur qui est apparu (ou s'est révélé) lors de l'appel de sdl_mixer. Ou est-ce parce que l'invite de commande ne gère pas ou mal sdl_mixer lors de l'arrêt.

    De plus, j'aurais une question sur la musique dans le jeu.
    Dois -je la poser ici ou sur un autre sujet?
    Merci

  8. #8
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Du coup, comme me le suggérait LittleWhite, peut-être que mon code contient une erreur qui est apparu (ou s'est révélé) lors de l'appel de sdl_mixer. Ou est-ce parce que l'invite de commande ne gère pas ou mal sdl_mixer lors de l'arrêt.
    L'intégration de la musique et l'invite de commande n'ont aucun lien. On peut faire absolument toute les applications avec l'invite de commandes actives.

    De plus, j'aurais une question sur la musique dans le jeu.
    Dois -je la poser ici ou sur un autre sujet?
    Je crois que cela ira dans un autre sujet
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  2. Installer ses composants
    Par Geronimo dans le forum C++Builder
    Réponses: 14
    Dernier message: 18/06/2002, 14h51
  3. Réponses: 19
    Dernier message: 24/05/2002, 16h36
  4. Réponses: 7
    Dernier message: 01/05/2002, 20h23
  5. [Kylix] Comment installer Kylix sur Mandrake 8.2 (page2)
    Par Philippe LE PONT dans le forum EDI
    Réponses: 3
    Dernier message: 01/05/2002, 12h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo