Ton install FMod, elle sort d'un package ou des sources? Quelle distrib?
Parce que tout laisse à croire que FMod n'est pas installé, mais probablement uniquement FModEx.
Ton install FMod, elle sort d'un package ou des sources? Quelle distrib?
Parce que tout laisse à croire que FMod n'est pas installé, mais probablement uniquement FModEx.
J'ai tout cleané et réinstallé : fmodapi41402mac-installer (DMG).
Ca ne marche pas non plus (est ce que j'avais installé FMOD avant FMODEx sur mon portable ? Je crois bien.) :
Mea culpa a posteriori, ca vient d'une erreur de frappe...
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 qmake && 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/Developer/FMOD/api/inc -I. -I. -F/usr/local/Trolltech/Qt-4.3.4/lib -o GUI.o GUI.cpp GUI.cpp:270: warning: unused parameter e 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/Developer/FMOD/api/inc -I. -I. -F/usr/local/Trolltech/Qt-4.3.4/lib -o Mixer.o Mixer.cpp Mixer.cpp:31: warning: unused parameter e /usr/local/Trolltech/Qt-4.3.4/bin/moc -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/Developer/FMOD/api/inc -I. -I. -F/usr/local/Trolltech/Qt-4.3.4/lib -D__APPLE__ -D__GNUC__ GUI.h -o moc_GUI.cpp 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/Developer/FMOD/api/inc -I. -I. -F/usr/local/Trolltech/Qt-4.3.4/lib -o moc_GUI.o moc_GUI.cpp /usr/local/Trolltech/Qt-4.3.4/bin/moc -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/Developer/FMOD/api/inc -I. -I. -F/usr/local/Trolltech/Qt-4.3.4/lib -D__APPLE__ -D__GNUC__ Mixer.h -o moc_Mixer.cpp 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/Developer/FMOD/api/inc -I. -I. -F/usr/local/Trolltech/Qt-4.3.4/lib -o moc_Mixer.o moc_Mixer.cpp /usr/local/Trolltech/Qt-4.3.4/bin/rcc -name styles styles.qrc -o qrc_styles.cpp 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/Developer/FMOD/api/inc -I. -I. -F/usr/local/Trolltech/Qt-4.3.4/lib -o qrc_styles.o qrc_styles.cpp c++ -headerpad_max_install_names -o SoundLab.app/Contents/MacOS/SoundLab GUI.o Mixer.o moc_GUI.o moc_Mixer.o qrc_styles.o -F/usr/local/Trolltech/Qt-4.3.4/lib -L/usr/local/Trolltech/Qt-4.3.4/lib /Developer/FMOD/api/lib -lfmodex -framework QtGui -L/usr/local/Trolltech/Qt-4.3.4/lib -F/usr/local/Trolltech/Qt-4.3.4/lib -framework Carbon -framework AppKit -framework QtCore -lz -lm -framework ApplicationServices ld: library not found for -lfmodex collect2: ld returned 1 exit status make: *** [SoundLab.app/Contents/MacOS/SoundLab] Error 1
Ok, apparemment je n'ai pas été au top dans l'installation de FMOD...
J'installe FMOD 4.15 puis FMODEx 4.1 ?
Distrib :
fmod api 4.1402 mac-installer . pkg
/Developer/
mais...Erreur de frappe encore
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ++ -headerpad_max_install_names -o SoundLab.app/Contents/MacOS/SoundLab GUI.o Mixer.o moc_GUI.o moc_Mixer.o qrc_styles.o -F/usr/local/Trolltech/Qt-4.3.4/lib -L/usr/local/Trolltech/Qt-4.3.4/lib /Developer/FMOD/api/lib -lfmodex -lfmodexp -framework QtGui -L/usr/local/Trolltech/Qt-4.3.4/lib -F/usr/local/Trolltech/Qt-4.3.4/lib -framework Carbon -framework AppKit -framework QtCore -lz -lm -framework ApplicationServices ld: library not found for -lfmodex
EN REVANCHE LA ! :
j'ai essayé toutes les configs possibles et dès que FMOD est bien captée, j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Undefined symbols: "_main", referenced from: start in crt1.10.5.o ld: symbol(s) not found collect2: ld returned 1 exit status
Honte à moi
Honte à moi....................
J'ai deleté mon main....
Nan, ca passe au debug, mais à l'exécution :
Petit coup d'oeil au .pro :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Dyld Error Message: Library not loaded: ./libfmodex.dylib Referenced from: /Users/MisterM/Desktop/Projets/SoundLabGUI/SoundLab/SoundLab.app/Contents/MacOS/SoundLab Reason: image not found
[/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 ###################################################################### # Automatically generated by qmake (2.01a) jeu. avr. 24 14:02:59 2008 ###################################################################### TEMPLATE = app TARGET = DEPENDPATH += . fmod/inc INCLUDEPATH += . fmod/inc # Input HEADERS += GUI.h \ Mixer.h \ FORMS += GUI.ui Mixer.ui SOURCES += GUI.cpp main.cpp Mixer.cpp RESOURCES += styles.qrc LIBS += -L/Developer/FMOD/api/lib -lfmodex -lfmodexp
J'ai fais le tour, vérifié les includePAths, les LibPaths, ... tout est ok, j'ai meme copié ca dans le répertoire INCLUDE de Qt comme conseillé,
rien à faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part image not found
Oula bon, ça touche trop à l'utilisation de Mac OSX pour moi ça, désolé
merci quand meme, ca doit pas etre très sorcier, ... en étant un peu plus rigoureux je devrais m'en dépatouiller assez vite. Espérons. Il faut que j'inclus le framework SDL éventuellement.
Je reste avec un Dyld Error Message:
Library not loaded:
Bon après midi
FmodEx possède une interface C++, que ne possédait pas Fmod. Ainsi, il est possible d'utiliser FmodEx en C et en C++. Toutes les fonctions ont été écrites pour ces 2 interfaces. Mais à l'heure actuelle, l'interface C++ ne fonctionne que sur les compilateurs MS Visual C++ / MS Visual Studio ; les autres compilateurs rencontrent des erreurs lors de l'édition de liens. Ceci sera peut-être corrigé dans les prochaines versions de FmodEx.
Donc, dans un souci de généricité, la classe que je vais développer va utiliser les fonctions de l'interface C.
Bon, je ne joue toujours pas de son mais les choses ont l'air en place. J'ai finalement copié les headers dans le dossier "include" de Qt4, comme ca je ne touche pas au .pro, et j'ai copié libfmodex.dylib et libfmodexp.dylib dans le "/lib" de Qt4 également.
Je ne touche absolument pas au .pro ici.
Ca compile proprement.
+ utiliser le .hpp, pas le .h
Bon... je tourne en rond.
Résultat des courses j'ai ajouté proprement il me semble, au .pro :
et je trouve dans ce dir depuis le Terminal :
Code : Sélectionner tout - Visualiser dans une fenêtre à part LIBS += -L/usr/local/Trolltech/Qt-4.3.4/lib
cependant l'exécution échoue quand :
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 Qt3Support.framework QtScript_debug.la Qt3Support.la QtSql.framework Qt3Support_debug.la QtSql.la QtAssistant.framework QtSql_debug.la QtCore.framework QtSvg.framework QtCore.la QtSvg.la QtCore_debug.la QtSvg_debug.la QtDesigner.framework QtTest.framework QtDesignerComponents.framework QtTest.la QtGui.framework QtTest_debug.la QtGui.la QtXml.framework QtGui_debug.la QtXml.la QtNetwork.framework QtXml_debug.la QtNetwork.la libQtUiTools.a QtNetwork_debug.la libQtUiTools.prl QtOpenGL.framework libQtUiTools_debug.a QtOpenGL.la libQtUiTools_debug.prl QtOpenGL_debug.la libfmodex.dylib QtScript.framework libfmodexp.dylib QtScript.la pkgconfig
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 LIBS += -L/usr/local/Trolltech/Qt-4.3.4/lib -lfmodex
tes lib libfmodex.dylib et libfmodexp.dylib, elle ne serait pas chargé dynamiquement???
Elle ne devrait pas être dans un endroit particulier définie par un path système?
as tu essayé de les copier à coté de ton exe?
Et il faut probablement un .a ou équivalent pour lier non?
C'est l'exécution qui échoue, non?
Je ne sait pas comment sont géré les lib dynamique sous mac.
Exactly, j'ai pensé convertir les .dylib en .a, avant ca je devrais peut être comprendre comment foncitonnent les libs dynamiques (sic) sur mac...C'est l'exécution qui échoue, non?
convertir .dylib en .a n'est certainement pas la solution. Si elle sont chargé par manuellement ca ne marchera pas.
Faudrait juste que ton exe les trouve lors de son lancement. Si tu les met a coté de ton exe que tu lance dans ce répertoire, ca devrait marcher (lue sur un forum). Aprés il y as surement un repertoire où il faut mettre ces sorte de dll.
Tu devrais demander sur le forum mac
http://www.developpez.net/forums/forumdisplay.php?f=518
http://qin.laya.com/tech_coding_help/dylib_linking.html
Si tu fait
otool -L "nom de l'appli"
ca donne quoi?
Merci Montgaulois,
bon alors j'ai finalement réussi, il suffit de caler ses .dylib dans /usr/lib (sur mac un "/" en début de path signifie "racine du disque" grosso modo) et d'ajouter au .pro :Du côté des libs, c'est ok, maintenant c'est du côté des includes que ca tangue, héhé, quand j'ajoute "FMOD" ou <FMOD> à mon header, j'ai une erreur au debug. Hors j'ai bien placé ce rép dans le même que tous les includes QT, je ne touche pas au .pro donc je devrais pouvoir écrire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part LIBS += -L -lfmodex
Terminal : /usr/local/Trolltech/Qt-4.3.4/include :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #include <QWidget> #include <QtCore> #include <QtGui> //#include <FMOD>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3FMOD QtAssistant QtGui QtScript QtTest Qt QtCore QtNetwork QtSql QtUiTools Qt3Support QtDesigner QtOpenGL QtSvg QtXml
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager