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

Qt Discussion :

FMOD et Qt4.3.4


Sujet :

Qt

  1. #1
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut FMOD et Qt4.3.4
    qqun a t il déjà utilisé FMOD (FMODEx, lib sonore) avec Qt4 ?
    J'ai un soucis assez compliqué à pallier, du fait de passer par le terminal. Ce que je préfère. Mais là je n'arrive pas à linker proprement FMOD apparemment, entre les options du .pro et du MakeFile, je suis un peu largué, et bien frustré de ne pas pouvoir codé le son... Merci

  2. #2
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    Peux-tu poster ton fichier pro et les erreurs de liaison que tu obtiens stp?

  3. #3
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut
    JE réponds à une solution trouvée sur MacBidouille :

    1. Le projet contient le framework Carbon : oui
    2. LEs headers : fmod.h, fmod_errors.h
    3. As tu ajouté libfmodex.a ? : non

    non car je n'arrive pas à correctement linker la lib, -lfmodex ne suffit pas car le libpath est un peu mal foutu avec FMOD,

    je voudrais donc rajouter le path vers les lib/inc de FMOD dans le MAKEFILE (enfin je crois, je préférerai le faire dans le .pro si ca dépendait de moi),

    puis faire un LIBS += -lfmodex dans le .pro

    et enfin coder mon mixeur....

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Salut.
    Dans ton .pro, tu doit ajouter:
    INCLUDEPATH += .;"path des include FMOD"
    LIBS += -L"path des lib FMOD" -lfmodex

  5. #5
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut
    Ok, ca a pas l'air d'avoir débloqué, voilà mon .pro :
    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
    ######################################################################
    # Automatically generated by qmake (2.01a) mer. avr. 23 16:46:39 2008
    ######################################################################
     
    TEMPLATE = app
    TARGET = 
    DEPENDPATH += .
    INCLUDEPATH += .
     
    # Input
    HEADERS += fmod.h \
               fmod.hpp \
               fmod_codec.h \
               fmod_dsp.h \
               fmod_errors.h \
               fmod_event.h \
               fmod_event.hpp \
               fmod_event_net.h \
               fmod_output.h \
               GUI.h \
               Mixer.h
    FORMS += GUI.ui Mixer.ui
    SOURCES += GUI.cpp Mixer.cpp
    RESOURCES += styles.qrc
    INCLUDEPATH += .;/usr/local/FMOD/include
    LIBS += -L/usr/local/FMOD/lib -lfmodex
    la ligne suivante m'étonne un peu... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INCLUDEPATH += .;/usr/local/FMOD/include
    sinon aucun doute sur les paths

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    HEADERS += fmod.h \
    fmod.hpp \
    fmod_codec.h \
    fmod_dsp.h \
    fmod_errors.h \
    fmod_event.h \
    fmod_event.hpp \
    fmod_event_net.h \
    fmod_output.h \
    Pourquoi tu met les .h de fmod ici????

    la ligne suivante m'étonne un peu... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INCLUDEPATH += .;/usr/local/FMOD/include
    pourquoi? a cause du .; ?
    C'est juste que j'ajoute le repertoire courant dans les include puis celle de fmod

  7. #7
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Quels erreurs as tu?

  8. #8
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    c++ -c -pipe -g -Wall -W -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.3.4/mkspecs/macx-g++ -I. -I/usr/local/Trolltech/Qt-4.3.4/lib/QtCore.framework/Versions/4/Headers -I/usr/local/Trolltech/Qt-4.3.4/include/QtCore -I/usr/local/Trolltech/Qt-4.3.4/include/QtCore -I/usr/local/Trolltech/Qt-4.3.4/lib/QtGui.framework/Versions/4/Headers -I/usr/local/Trolltech/Qt-4.3.4/include/QtGui -I/usr/local/Trolltech/Qt-4.3.4/include/QtGui -I/usr/local/Trolltech/Qt-4.3.4/include -I. -I. -I/usr/local/FMOD/include -I. -I. -F/usr/local/Trolltech/Qt-4.3.4/lib -o Mixer.o Mixer.cpp
    Mixer.cpp: In constructor ‘Mixer::Mixer(QWidget*)’:
    Mixer.cpp:24: error: ‘FSOUND_Init’ was not declared in this scope
    Mixer.cpp: At global scope:
    Mixer.cpp:29: warning: unused parameter ‘e’
    make: *** [Mixer.o] Error 1

  9. #9
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut
    Pourquoi tu met les .h de fmod ici????
    en effet, c'est un résidu... je les vire

  10. #10
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Es tu sur d'avoir mis tout les .h dans Mixer.cpp ?

  11. #11
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut
    ... apparemment oui

  12. #12
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut
    par contre dans le Makefile, je vois apparaitre FMOD/include, et pour Qt : Trolltech/include et Trolltech/lib ... peut être que je devrais rajouter FMOD/lib aux INCLUDEPATH du .pro...?

  13. #13
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut
    L'erreur vient de l'absence de "guillemets" sur le path ? Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INCLUDEPATH += ".;/usr/local/FMOD/include/"
    LIBS += -L/usr/local/FMOD/lib -lfmodex
    J'obtiens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    i686-apple-darwin9-g++-4.0.1: no input files
    /bin/sh: /usr/local/FMOD/include: is a directory
    make: *** [Mixer.o] Error 126

  14. #14
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par ttone Voir le message
    ... apparemment oui
    Mixer.cpp:24: error: ‘FSOUND_Init’ was not declared in this scope

    Ca veut qu'il ne sait ce qu'es FSOUND_Init
    Il doit donc te manquer un fmod.h ou autre.

    Citation Envoyé par ttone Voir le message
    par contre dans le Makefile, je vois apparaitre FMOD/include, et pour Qt : Trolltech/include et Trolltech/lib ... peut être que je devrais rajouter FMOD/lib aux INCLUDEPATH du .pro...?
    Non.
    http://qt.developpez.com/doc/latest/...ml#includepath

  15. #15
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par ttone Voir le message
    L'erreur vient de l'absence de "guillemets" sur le path ?
    Non, faut pas de guillemets ici.

  16. #16
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    EN faite je ne croit que tu n'as pas compris
    INCLUDEPATH += .;/usr/local/FMOD/include/
    le . c'est pour le repertoire courant
    le ; pour donner un autre path
    le /usr/local/FMOD/include/ path de fmod

  17. #17
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut
    heu, ... si si j'ai compris... j'ai vu des version avec "...", sinon le Mixer.h est le même depuis le début :

    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
    #include <QWidget>
    #include <QtCore>
    #include <QtGui>
    #include "ui_Mixer.h"
    #include "fmod.h"
    #include "fmod_errors.h"
     
     
    using namespace std;
     
    class Mixer : public QWidget
     {
         Q_OBJECT
     
     public:
         Mixer(QWidget *parent = 0);
     	Ui_Form ui;
     
     private slots:
    	 void paintEvent(QPaintEvent* f);
    	 void play();
     
    };

  18. #18
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    ttone poste tout le résultat de la compilation ici stp.

  19. #19
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut
    Merci les mecs, je viens de tester sur mon portable à la maison, ca marche très bien. Il va falloir que je clean un peu l'autre bécane. Et puis surement que je n'utilise pas des commande FMOD (C) pour FMODEx (C++)

  20. #20
    Membre actif Avatar de ttone
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    589
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 589
    Points : 203
    Points
    203
    Par défaut
    voilà la compil sur la tour, le probleme vient je pense

    • d'un doublon de dylib$
    • d'un mauvais mélange fmod/fmodex
    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
    .........$ make
    c++ -c -pipe -g -Wall -W -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.3.4/mkspecs/macx-g++ -I. -I/usr/local/Trolltech/Qt-4.3.4/lib/QtCore.framework/Versions/4/Headers -I/usr/local/Trolltech/Qt-4.3.4/include/QtCore -I/usr/local/Trolltech/Qt-4.3.4/include/QtCore -I/usr/local/Trolltech/Qt-4.3.4/lib/QtGui.framework/Versions/4/Headers -I/usr/local/Trolltech/Qt-4.3.4/include/QtGui -I/usr/local/Trolltech/Qt-4.3.4/include/QtGui -I/usr/local/Trolltech/Qt-4.3.4/include -I. -I. -I/usr/local/FMOD/include -I. -I. -F/usr/local/Trolltech/Qt-4.3.4/lib -o Mixer.o Mixer.cpp
    Mixer.cpp: In constructor ‘Mixer::Mixer(QWidget*)’:
    Mixer.cpp:23: error: ‘FSOUND_Init’ was not declared in this scope
    Mixer.cpp: At global scope:
    Mixer.cpp:28: warning: unused parameter ‘e’
    Mixer.cpp: In member function ‘void Mixer::play()’:
    Mixer.cpp:38: error: ‘FSOUND_Init’ was not declared in this scope
    Mixer.cpp:40: error: ‘FSOUND_STREAM’ was not declared in this scope
    Mixer.cpp:40: error: ‘MP3Stream’ was not declared in this scope
    Mixer.cpp:41: error: ‘FSOUND_NORMAL’ was not declared in this scope
    Mixer.cpp:41: error: ‘FSOUND_Stream_OpenFile’ was not declared in this scope
    Mixer.cpp:44: error: ‘FSOUND_FREE’ was not declared in this scope
    Mixer.cpp:44: error: ‘FSOUND_Stream_Play’ was not declared in this scope
    Mixer.cpp:47: error: ‘FSOUND_GetPaused’ was not declared in this scope
    Mixer.cpp:48: error: ‘FSOUND_SetPaused’ was not declared in this scope
    Mixer.cpp:50: error: ‘FSOUND_Stream_Stop’ was not declared in this scope
    Mixer.cpp:53: error: ‘FSOUND_GetMute’ was not declared in this scope
    Mixer.cpp:54: error: ‘FSOUND_SetMute’ was not declared in this scope
    Mixer.cpp:56: error: ‘FSOUND_Stream_Close’ was not declared in this scope
    make: *** [Mixer.o] Error 1

    FSOUND_Init c'est pour FMOD (C).

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [Qt4] Linker error (vtable)
    Par titus55 dans le forum Qt
    Réponses: 7
    Dernier message: 23/05/2007, 10h04
  2. Égalisateur de fréquences
    Par will11 dans le forum FMOD
    Réponses: 4
    Dernier message: 04/01/2006, 19h26
  3. [GTK/FMOD] Erreur entre les deux
    Par titor dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 28/12/2005, 20h23
  4. Réponses: 1
    Dernier message: 28/11/2005, 23h20
  5. FMod et DirectSound
    Par Freakazoid dans le forum DirectX
    Réponses: 3
    Dernier message: 13/07/2004, 09h22

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