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

Bibliothèques C++ Discussion :

Problème Libvorbis avec Mingw


Sujet :

Bibliothèques C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Problème Libvorbis avec Mingw
    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 :

    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);
    }
    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).

    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

  2. #2
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Bonjour,

    Afin d'améliorer la lisibilité du code que tu colles sur le forum, utilise la balise [code] stp.

    Afin d'obtenir plus d'info de gdb, il faut compiler avec les informations de débogage (option -g de gcc/clang).
    -- Yankel Scialom

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par prgasp77 Voir le message
    Bonjour,

    Afin d'améliorer la lisibilité du code que tu colles sur le forum, utilise la balise [code] stp.

    Afin d'obtenir plus d'info de gdb, il faut compiler avec les informations de débogage (option -g de gcc/clang).
    Merci pour la balise code.

    Je compile déja avec -g

    ci dessous mes deux lignes pour la compilation
    g++ -g -O0 -I"path\libvorbis-1.3.5\include" -I"path\libogg-1.3.2\include" -c main.cpp
    g++ main.o -L"path\libvorbis-1.3.5\lib\.libs" -lvorbisfile -L"path\libogg-1.3.2\src\.libs" -logg -o test.exe

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/03/2013, 23h30
  2. [Débuter] Problème de compilation avec MinGW
    Par matt36295 dans le forum Qt Creator
    Réponses: 1
    Dernier message: 21/01/2013, 02h38
  3. Problème compilation avec QT and MinGW
    Par Kalite dans le forum Eclipse C & C++
    Réponses: 1
    Dernier message: 28/11/2008, 15h04
  4. Problème de compilation avec MinGW
    Par AjJi dans le forum wxWidgets
    Réponses: 4
    Dernier message: 21/02/2008, 16h50
  5. Problème avec MinGW
    Par giminik dans le forum MinGW
    Réponses: 2
    Dernier message: 24/05/2007, 19h33

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