-
Installation Qwt sur Mac
Bonjour à tous,
Je débute sur Mac os x, sur C++ / Qt et sur Qwt (ça fait beaucoup). J'essaie d'installer désespérément Qwt et j'aurais besoin d'un coup de main, connaissant très mal l'utilisation des librairies en C++. J'ai beaucoup cherché sur ce forum et d'autres mais très mal compris les explications.
Voilà ma configuration:
MacOS X 10.5.8.
Qt version open source 4.5.2
Qwt version 5.2.0
Voilà la procédure suivie jusqu'à présent:
- téléchargement du .zip
- ouverture du fichier qwt.pro avec Qtcreator
- buildAll du projet
- obtention d'un fichier appelé libqwt-5.2.0.dylib
Dans mon programme, je n'ai pas réussi à intégrer la librairie. A la place, j'ai bidouillé en copiant les sources dans mon dossier projet et en modifiant le INCLUDEPATH du fichier pro:
INCLUDEPATH += /Users/.../testQwt/qwtSources
où testQwt est le nom de dossier où se trouve mon fichier .pro , qwtSource étant la copie du répertoire src téléchargé.
Cela me permet de faire des includes:
#include "qwt_plot.h"
ou
#include <qwt_plot.h>
mais je me doute que ce n'est pas la bonne solution.
j'ai essayé plein de choses pour utiliser la librairie libqwt-5.2.0.dylib mais rien n'a fonctionné, sans le includePath, qui semble fonctionner sans que je mentionne la librairie. Je n'y connais absolument rien avec le terminal et je suppose que c'est là que le bat blesse...
Help anyone?
-
Bon, pour les très débutants comme moi, voilà où j'en suis:
fabriquer la dylib avec QtCreator
- ouvrir le fichier qwt.pro
- compiler
on obtient un makefile dans le dossier qwt-5.2.0 , là d'où le qwt.pro provient
- ouvrir le terminal
- arriver dans le répertoire qwt-5.2.0 via des cd successifs
- taper: sudo make
puis
- taper sudo make install
Cette opération doit normalement installer la librairie dans le répertoire /usr/local/qwt-5.2.0
permettre l'utilisation de la dylib dans d'autres projets avec QtCreator
- dans le fichier .pro de votre projet nécessitant l'utilisation de Qwt, ajouter:
INCLUDEPATH += /usr/local/qwt-5.2.0/include
LIBS += /usr/local/qwt-5.2.0/lib/ -llibqwt.5
DEPENDPATH += /usr/local/qwt-5.2.0/lib/include/
Normalement, on peut alors inclure les en têtes Qwt etc. La compilation fonctionne. Mais damned, à l'execution, ça coince...Il ne trouve pas la libqwt.5.dylib à l'endroit escompté.
retour sur le terminal:
- arriver au répertoire contenant le binary de l'application (entrer dans l'app puis dans contents puis dans MacOS)
- faire un otool -L nomduBinary
- on constate que le chemin qui relie le binary à la dylib n'est pas complet, genre libqwt.5.dylib
- pour corriger cela, on modifie l'install name avec install_name_tool
- taper par exemple install_name_tool -change libqwt.5.dylib /usr/local/qwt-5.2.0/lib/libqwt.5.dylib nomduBinary
Normalement, l'appli remarche. Inconvénient, à chaque nouvelle compilation, il faut refaire la manip'.
De la page web où j'ai trouvé cette soluce, il y a apparemment une autre solution plus confortable (http://qin.laya.com/tech_coding_help/dylib_linking.html), mais je n'ai pas encore réussi à la mettre en oeuvre avec succès. Si quelqu'un passe par là et peut expliquer plus en détail cette solution...et aussi pourquoi il faut faire tout ça pour les dylib sur Mac...