Jump to content

Compilation de qtVlm


Recommended Posts

Nous avons matai et moi différents echanges avec des personnes essayant de compiler qtVlm sur leur ordi. Je vous propose de structurer un peu nos echanges via ce thread.

Nous avons actuellement un process de compilation principalement optimiser pour linux (en tt cas il fonctionne sans gros problème sur mon PC avec Ubuntu, qt installé via le binaire trolltech et non le package)/

Pour windows la compilation se fait actuellement en allant manuellement ds chaque repertoire des libs (trunk/src/libs) et en faisant un qmake / make puis en déplacant le .a ds le repertoire de la lib. J'ai fait une modif ds les Makefile pour que les lib compillent toujours en mettant leur .a ds le repertoire trunk/src/libs/build. Le .pro de qtvlm ayant été modifié pour les chercher ici.

Il reste le problème du Makefile global se trouvant ds trunk que j'ai du mal à rendre multiplatforme et je n'ai pas envi pour l'instant de passer par un lourd process de type auto-tools. J'ai quelques pistes pour windows. A suivre donc.

Ce que j'attends de vous c'est de remonter vos problèmes ici en indiquant l'architecture, l'OS et la manière dont vous compilez.

merci

Edited by oxygen77
Link to comment
Nous avons matai et moi différents echanges avec des personnes essayant de compiler qtVlm sur leur ordi. Je vous propose de structurer un peu nos echanges via ce thread.

Nous avons actuellement un process de compilation principalement optimiser pour linux (en tt cas il fonctionne sans gros problème sur mon PC avec Ubuntu, qt installé via le binaire trolltech et non le package)/

Pour windows la compilation se fait actuellement en allant manuellement ds chaque repertoire des libs (trunk/src/libs) et en faisant un qmake / make puis en déplacant le .a ds le repertoire de la lib. J'ai fait une modif ds les Makefile pour que les lib compillent toujours en mettant leur .a ds le repertoire trunk/src/libs/build. Le .pro de qtvlm ayant été modifié pour les chercher ici.

Il reste le problème du Makefile global se trouvant ds trunk que j'ai du mal à rendre multiplatforme et je n'ai pas envi pour l'instant de passer par un lourd process de type auto-tools. J'ai quelques pistes pour windows. A suivre donc.

Ce que j'attends de vous c'est de remonter vos problèmes ici en indiquant l'architecture, l'OS et la manière dont vous compilez.

merci

Intel/Mac OS X 10.6.6

Aucun problème dans la compilation de la version mac, après installation de qt4-mac via macports. Le seul petit point concernant le Makefile est qu'un 'make clean' laisse le qtVlm.app (la version mac de l'application, sous la forme d'un répertoire) derrière, mais maitai me dit que c'est corrigé dans les dernières versions sur le svn.

Par contre, comme tu le sais, la version mac n'est pas déployable (i.e. transferable sur une autre machine) en l'état dans la mesure où elle n'inclut pas les librairies qt par défaut, sauf évidemment si la machine a déjà installé qt4-mac auquel cas elles sont déjà là. Comme tu le sais, je travaille là dessus.

Edited by farangfrog
Link to comment
Intel/Mac OS X 10.6.6

Aucun problème dans la compilation de la version mac, après installation de qt4-mac via macports. Le seul petit point concernant le Makefile est qu'un 'make clean' laisse le qtVlm.app (la version mac de l'application, sous la forme d'un répertoire) derrière, mais maitai me dit que c'est corrigé dans les dernières versions sur le svn.

Par contre, comme tu le sais, la version mac n'est pas déployable (i.e. transferable sur une autre machine) en l'état dans la mesure où elle n'inclut pas les librairies qt par défaut, sauf évidemment si la machine a déjà installé qt4-mac auquel cas elles sont déjà là. Comme tu le sais, je travaille là dessus.

quelles lib sont manquantes ? il y a la liste des libQt je suppose y en a t il d'autres ?

Link to comment

Sous Windows, je fais ça directement avec QtCreator, inclus dans le "Qt SDK for Open Source C++ development on Windows" (http://get.qt.nokia.com/qtsdk/qt-sdk-win-opensource-2010.05.exe) :

- je récupère la dernière version où les devs sont en train de bosser (http://qtvlm.svn.sourceforge.net/viewvc/qtvlm/trunk/?view=tar)

- je fais compiler en mode release les fichiers *.pro chaque lib,

- puis je déplace chacun des fichiers *.a obtenus dans les répertoires juste au dessus des endroits où ils se trouvent,

- enfin je fais compiler en mode release qtVlm.pro et je récupère le qtVlm.exe tout neuf.

Sous Windows mobile, je n'ai toujours pas trouvé comment faire, dommage.

Il y a bien une procédure (http://doc.trolltech.com/4.4/install-wince.html), mais c'est trop compliqué pour moi.

Edited by kiki
Link to comment
Sous Windows, je fais ça directement avec QtCreator, inclus dans le "Qt SDK for Open Source C++ development on Windows " (http://get.qt.nokia.com/qtsdk/qt-sdk-win-opensource-2010.05.exe) :

- je fais compiler en mode release les fichiers *.pro chaque lib,

- puis je déplace le *.a dans le répertoire juste au dessus de l'endroit où il se trouve,

- enfin je fais compiler en mode release qtVlm.pro et je récupère le qtVlm.exe tout neuf.

Sous Windows mobile, je n'ai toujours pas trouvé comment faire, dommage.

Il y a bien une procédure (http://doc.trolltech.com/4.4/install-wince.html), mais c'est trop compliqué pour moi.

depuis les derniers svn tu ne devrais plus avoir besoin de déplacer les .a sous windows. Ils sont mis automatiquement ds le repertoire src/libs/build. Il me reste à voir pour peut etre forcer le build en mode release

Link to comment
depuis les derniers svn tu ne devrais plus avoir besoin de déplacer les .a sous windows. Ils sont mis automatiquement ds le repertoire src/libs/build. Il me reste à voir pour peut etre forcer le build en mode release

Effectivement je n'ai pas essayé depuis que la v3 est sortie, mais ces petites manips ne représentaient pas un gros problème.

Sous WinCE c'est autre chose, si j'ai bien compris il faut d'abord construire un environnement Qt pour WinCE pour compiler avec Microsoft Visual Studio 8, et c'est là que ça se gâte...

D'abord j'ai essayé de faire tout ça pour Windows, mais c'est c'est un peu obscur pour un néophyte qui en plus n'est pas très à l'aise avec la langue de Chakespire ....

Link to comment
quelles lib sont manquantes ? il y a la liste des libQt je suppose y en a t il d'autres ?

Ce sont les libQt et leurs dépendances. Voilà la liste des libs dont qtVlm.app a besoin :

libQtXml

libQtGui

libQtNetwork

libQtCore

libbz2

libz

libpng12

libssl

libcrypto

Le pb est que lorsque je les inclus dans le 'bundle' (qtVlm.app) le programme démarre (il trouve donc bien les librairies dont il a besoin), mais il se plante immédiatement. Je dois faire quelque chose qui ne va pas, mais pour l'instant je ne sais pas quoi.

Pour mémoire, c'est juste pour avoir une app deployable. En compilation simple sur une machine avec qt4-mac déjà installé, pas de pb à ma connaissance, en tout cas sur OS X 10.6.

Link to comment
libQt* ça me parait normal

libbz2 et libz sont normalement fournies avec qtVlm

les autres c etrange, j'imagine qu'il s'agit en effet de dépendances

libz2 et libz sont aussi appelées par les libQts. Est ce qu'il peut y avoir un pb parce qu'elles sont liées en statique par qtVlm et appelées dynamiquement par les libQts ? A priori non puisque ça marche sans pb une fois compilé tant qu'on n'inclut pas les libs dans le bundle.

Edited by farangfrog
Link to comment

J'aime autant utiliser les p'tits paquets quand ils sont disponibles. Je commente donc tout ce qui a trait à qjson, bzip2 et zlib dans le MakeFile.

Puis make clean; make... et Zou! :wise:

Sauf que, ponctuellement, la ligne 24 du Makefile

cd src/nmealib/src; make clean

me paraît suspecte :grt:... et je crois bien que c'est elle qui fait boucler le bastringue. ;)

Donc je commente. La 25 ito, ça mange pas d'pain.

Ah, j'oubliais. Un p'tit alias qmake->qmake-qt4. :mousq:

Link to comment
J'aime autant utiliser les p'tits paquets quand ils sont disponibles. Je commente donc tout ce qui a trait à qjson, bzip2 et zlib dans le MakeFile.

Puis make clean; make... et Zou! :wise:

Sauf que, ponctuellement, la ligne 24 du Makefile

cd src/nmealib/src; make clean

me paraît suspecte :grt:... et je crois bien que c'est elle qui fait boucler le bastringue. ;)

Donc je commente. La 25 ito, ça mange pas d'pain.

Ah, j'oubliais. Un p'tit alias qmake->qmake-qt4. :mousq:

sur quelle plateforme ?

Link to comment
J'aime autant utiliser les p'tits paquets quand ils sont disponibles. Je commente donc tout ce qui a trait à qjson, bzip2 et zlib dans le MakeFile.

Puis make clean; make... et Zou!

Pareil pour moi sous Ubuntu (avec l'environnement libqt-dev de ma distrib').

J'avais détaillé dans le wiki, la compilation sous Linux : http://wiki.virtual-loup-de-mer.org/index....tion_sous_Linux (basé sur mon expérience et celles de tavernautes partagées dans d'autres sujets).

Link to comment

je viens de mettre à jour les makefile et .pro. Ceci devrait permettre une compilation sous windows et linux en lançant make directement depuis trunk.

il est possible d'éditer le Makefile pour modifier l'alias de qmake

il me faudrait maintenant un petit test de ce makefile sous mac (qui va utiliser le paramétrage linux). Ensuite je pourrais séparer le paramétrage linux en 2 entre linux et mac os X. Pour ça il me faudrait aussi le resultat dela commande uname sur un mac ?

Link to comment
Pour ça il me faudrait aussi le resultat dela commande uname sur un mac ?

Sur mon mac :

Darwin XXXX.local 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386 i386

Je fais un co du dernier svn et te dis si le makefile est ok.

Edited by farangfrog
Link to comment
il me faudrait maintenant un petit test de ce makefile sous mac (qui va utiliser le paramétrage linux).

Ca compile et ça tourne. Par contre dans le makefile, pour mac, l'APPNAME est qtVlm.app et c'est un folder, il faut donc utiliser rm -Rf pour l'effacer dans clean:

Link to comment

la rev 670 contient juste une modif du Makefile de trunk, il ajoute normalement les paramètres pour Mac et en particulier le rm -Rf qtVlm.app à la place du rm -f qtVlm.

Par contre je considère que si le système n'est pas windows, et s'il n'est pas Linux v'est un Mac. Si ça pose un problème on fera plus fin.

Link to comment
la rev 670 contient juste une modif du Makefile de trunk, il ajoute normalement les paramètres pour Mac et en particulier le rm -Rf qtVlm.app à la place du rm -f qtVlm.

Par contre je considère que si le système n'est pas windows, et s'il n'est pas Linux v'est un Mac. Si ça pose un problème on fera plus fin.

Merci

Link to comment

Résultat de la compilation sous Ubuntu 10.10 :

Version prise trunk/, donc : src/ 669, tr/ 668 et makefile 670.

Passe sans problème et sans modif du makefile, juste quelques warnings concernant des paramètres inutilisés, ou du travail à faire quand paparazzia ... :whistle:

Reste à tester le fonctionnement, mais je ne me fais pas de souci de ce coté... que du bonheur !

Merci aux devs !

Link to comment

Bonjour a toutes et tous,

Ma config : debian/squeeze et qt4 V: 4:4.6.3.4 et c'est la le probleme !

Donc qtvlm n'est pas en cause.

Qt v:4.7 pour debian n'existe qu'en experimentale ( meme pas en sid) !

C'est un PC professionnelle pour mes developpements et je ne veux pas tenter le diable en l'installant facon "bourrin" ...

De plus debian est tres pointilleux avec ses paquets !!!

il existe ce binaire : qt-sdk-linux-x86-opensource-2010.05.1.bin mais je ne connais pas les repercussions que cela peut avoir sur l'ensemble des paquets installes. Je n'ai pas trouve d'indications sur le net.

Alors, avec l'aide de maitai et oxygen77, voila la manip effectuee :

- commenter la ligne 372 : /* this->tempPoints.reserve(180*180); */

Ce n'est qu'une solution temporaire car qtvlm va evoluer bien entendu, mais pour ceux qui sont sous debian cela fonctionne actuellement parfaitement.

A bientot

gil

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.