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 :

Compilation d'un programme sous Linux


Sujet :

FMOD

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Points : 148
    Points
    148
    Par défaut Compilation d'un programme sous Linux
    Salut,

    Je tente de lire un mp3 avec fmod pour tester un peu son fonctionnement mais sans résultat.
    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
    #include "./inc/fmod.h"
     
    //initialisation de la fonction FSOUND :
    FSOUND_Init(4400, /*Taux d'échantillonnage demandé*/
    		16, /*nombre maxi de canaux audio*/
    		0, /*effets directX ou pas*/
    		);
     
    int main(int argc, char *argv[]){
     
    //chargement du fichier
    FSOUND_STREAM* music = FSOUND_Stream_OpenFile("donjon.mp3", 0, /*indique comment charger le fichier (ici null)*/
    						0, /*indique qu'il est chargé à partir du disque*/
    						);
     
    //lecture du fichier
    FSOUND_Stream_Play(FSOUND_FREE, music );
     
    //libération du fichier
    FSOUND_Stream_Close( music );
     
    //libération de fmod
    FSOUND_Close();
     
    return 0;
    }
    Le fichier fmod.h est bien dans le dossier inc lui même dans le répertoire courant pourtant à la compilation aucune des fonctions introduites n'est reconnue. C'est un des premiers codes que je compile sous linux, ce n'est donc pas vraiment étonant mais je ne sais pas quoi faire.

  2. #2
    Invité
    Invité(e)
    Par défaut
    As-tu specifie la librairie fmod quand tu invoke gcc?

  3. #3
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    J'espère que tu t'es trompé dans ton initialisation parce que ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    FSOUND_Init(4400, /*Taux d'échantillonnage demandé*/ 
          16, /*nombre maxi de canaux audio*/ 
          0, /*effets directX ou pas*/ 
          );
    Ca demande quand même d'avoir un taux d'échantillonnage de 4400 Hz ... 44100 me parait plus juste (c'est la qualité CD)

    Est ce que ton problème est un problème d'inclusion ou de lien. Si c'est le deuxième cas, rajoute -lfmod-3.5 (tu remplace 3.5 par ta version) dans tes options de compilation et c bon.

    Lis la doc, elle est plutôt bien faite :
    http://www.fmod.org/docs/tutorials/basics.htm

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Points : 148
    Points
    148
    Par défaut
    Le 44100 est bien une erreur de frappe ; sans grande conséquence puisque mon code ne se compile pas.

    J'ai essayé
    g++ ./test.cpp -o test -lfmod-3.4.3
    ou encore
    g++ -o test test.cpp ./lib/libfmodex.so
    mais rien n'y fait.
    J'obtient ceci :
    ./shadee.cpp:5: error: expected constructor, destructor, or type conversion before '(' token
    ./shadee.cpp:5: error: expected `,' or `;' before '(' token
    ./shadee.cpp: In function `int main(int, char**)':
    ./shadee.cpp:14: error: `FSOUND_STREAM' undeclared (first use this function)
    ./shadee.cpp:14: error: (Each undeclared identifier is reported only once for each function it appears in.)
    ./shadee.cpp:14: error: `music' undeclared (first use this function)
    ./shadee.cpp:16: error: expected primary-expression before ')' token
    ./shadee.cpp:16: error: `FSOUND_Stream_OpenFile' undeclared (first use this function)
    ./shadee.cpp:19: error: `FSOUND_FREE' undeclared (first use this function)
    ./shadee.cpp:21: error: `FSOUND_Stream_Play' undeclared (first use this function)
    ./shadee.cpp:24: error: `FSOUND_Stream_Close' undeclared (first use this function)
    ./shadee.cpp:27: error: `FSOUND_Close' undeclared (first use this function)
    ./shadee.cpp:30:2: warning: no newline at end of file

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Pourquoi places-tu l'appel à FSOUND_Init en dehors du main ? Ce n'est pas possible en C++.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Points : 148
    Points
    148
    Par défaut
    Lors de ma première compilation FSOUND_Init était à l'intérieur de main et les erreurs qui en résultaient étaient identiques. J'ai omis de remettre cette fonction à sa place après avoir remarqué que le problème provenait surement de l'importation des librairies.

    Désolé.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Points : 148
    Points
    148
    Par défaut
    Je reviens sur ce post oublie pour y apporter une reponse :

    Je sais plus exactement ce qui posait probleme mais j'ai utiliser fmod sans soucie a de nombreuses reprises.

    Le link pour 64 bits est -lfmodex64 et -lfmodex pour 32 bits.

    Merci pour tout

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

Discussions similaires

  1. Problème pour compiler un programme sous linux ?
    Par petitclem dans le forum Applications et environnements graphiques
    Réponses: 9
    Dernier message: 30/07/2008, 09h58
  2. Faire fonctionner des programmes sous Linux
    Par vviivvii dans le forum Mandriva / Mageia
    Réponses: 14
    Dernier message: 29/08/2006, 19h41
  3. [16F84a] Programmation sous linux
    Par Michaël dans le forum Autres architectures
    Réponses: 2
    Dernier message: 25/02/2006, 12h05
  4. GDB/Recherche EDI - Debugguer un programme sous linux
    Par Rodrigue dans le forum Applications et environnements graphiques
    Réponses: 6
    Dernier message: 17/01/2006, 23h35
  5. compilation de librairie .pll sous linux
    Par Mons dans le forum Oracle
    Réponses: 4
    Dernier message: 10/03/2005, 16h45

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