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

FMOD Discussion :

Manipuler avec des classes


Sujet :

FMOD

  1. #1
    Membre habitué Avatar de poussinphp
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2005
    Messages : 428
    Points : 176
    Points
    176
    Par défaut Manipuler avec des classes
    Bonjour à tous !

    Je suis débutant avec la conception objet. j'ai voulu créer une class permettant de gerer le lancement d'une musique sur fmod mais ça ne marche pas. j'ai regardé un peut partout mais impossible de faire fonctionner le programme. Sans les class (en mettant les commandes directement dans le main), le programme fonctionne. je voit pas ce qui cloche pourtant

    Le message d'erreur est :
    undefined reference to '___gxx_personality_sj0' (je suis sur devcpp)

    Voici mon code:
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    [main.c]
    #include "constantes.h"
     
    int main(int argc, char *argv[])
    {
        char* toto = "intro.ogg";
        musique* test = new musique(toto);
        test->play();
        system("pause");
        return 0;
    }
    -------------------------------------------------------
    [constantes.h]
    #ifndef CONSTANTES_H_
    # define CONSTANTES_H_
     
    #include <stdlib.h>
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>
    #include <FMOD/fmod.h>
    #include "sons.h"
     
    # endif /* CONSTANTES_H_ */
    -------------------------------------------------------
    [sons.h]
    #ifndef SONS_H_
    # define SONS_H_
     
    class musique
    {
          public:
                 char* fichier;
                 FSOUND_STREAM * load;
                 musique(char* nomfichier);
                 ~musique();
                 void play();
                 void stop();
    };
     
    # endif /* SONS_H_ */
    -------------------------------------------------------
    [sons.c]
    #include "constantes.h"
     
    musique::musique(char* nomfichier)
    {
     this->fichier = nomfichier;
     FSOUND_Init(44100, 32, 0);
    }
     
    void musique::play()
    {
     this->load = FSOUND_Stream_Open(this->fichier, FSOUND_LOOP_NORMAL, 0, 0);
     FSOUND_Stream_Play(FSOUND_FREE, this->load);
    }
     
    void musique::stop()
    {
     FSOUND_Stream_Stop(this->load);
    }
     
    musique::~musique()
    {
        FSOUND_Close();                   
    }
    Impossible de trouver l'erreur

  2. #2
    Membre confirmé Avatar de Mayti4
    Inscrit en
    février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : février 2004
    Messages : 442
    Points : 488
    Points
    488
    Par défaut
    Tu compile bien en mode c++ ?

    Aussi tu as oublié delete toto;
    L'itération est humaine; la récursion, divine.

  3. #3
    Membre habitué Avatar de poussinphp
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2005
    Messages : 428
    Points : 176
    Points
    176
    Par défaut
    Alors là c'est la meilleure.

    Dans les paramètres du projet je suis en c++. j'ai ouvert le fichier .dev avec un editeur de texte et j'ai changé iscpp=0 par iscpp=1 et là, magie, ça marche

    Merci

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : juillet 2005
    Messages : 9 810
    Points : 20 967
    Points
    20 967
    Par défaut
    En même temps, main.c, faut pas s'étonner s'il compile en C et pas en C++...

Discussions similaires

  1. Linker avec des classes c++
    Par papadrago dans le forum Delphi
    Réponses: 2
    Dernier message: 26/09/2006, 20h28
  2. Utilisation de setTimeout avec des classes : BUG!
    Par seb-oulba dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/09/2006, 09h43
  3. Problème avec des Class en asp
    Par titou250 dans le forum ASP
    Réponses: 3
    Dernier message: 06/06/2006, 13h22
  4. [Librairies] Pb avec des classes d'envoi de mails
    Par sami_c dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 29/04/2006, 17h56
  5. Réponses: 9
    Dernier message: 25/09/2005, 16h33

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