Installation minimum de Qt

Installation minimum de Qt - C++ - Programmation

Marsh Posté le 24-11-2005 à 15:15:55    

J'ai une question assez simple :
est-ce qu'il faut forcement QT d'installé pour exécuter une appli faite avec Qt?
 
j'ai essayé d'en faire tourner une sur un pc où Qt n'est pas installé, il m'a dit qu'il manquait une librairie.  
Voilà mon message exact lors de l'exécution :    
"./monappli: error while loading shared libraries: libQtGui_debug.so.4: cannot o pen shared object file: No such file or directory"
 
Donc que faut-il installer pour exécuter une appli faite avec Qt, (et non pour développer)? Il ne faut quand-même pas tout installer (-> lancer la compilation qui prend 5h) !?
 
Merci de votre aide ;)

Reply

Marsh Posté le 24-11-2005 à 15:15:55   

Reply

Marsh Posté le 24-11-2005 à 18:29:23    

A priori l'install seule est suffisante. Pas besoin de compil.
Tu bosses sous quoi Linux ou windows?
 
Stef

Reply

Marsh Posté le 24-11-2005 à 21:55:56    

... mac os X :) mais je dois faire tourner mon logiciel sous linux (debian)
 
Pour tout installer, il faut faire ceci :  
    cd /tmp
    gunzip qt-x11-opensource-desktop-4.0.1.tar.gz      
    tar xvf qt-x11-opensource-desktop-4.0.1.tar        
    cd /tmp/qt-x11-opensource-src-4.0.1
    ./configure
    make
    su -c "make install"
 
à quelle commande dois-je m'arreter pour seulement installer le minimum pour exécuter des appli Qt?

Message cité 2 fois
Message édité par i'n'i le 24-11-2005 à 21:59:22
Reply

Marsh Posté le 25-11-2005 à 00:09:54    

Salut,
Désolé de ne pas avoir répondu à tes posts précédents, trop de taf en ce moment :'(
Ce qu'il manque pour faire tourner ton appli, c'est simplement les librairies compilées de ton appli. Les librairies dépendant de la plateforme sur laquelle elles doivent tourner, elles doivent être compilées sur cette plateforme ou équivalent. Tu peux aussi cross-compiler mais... j'y connais rien là dedans.
Mais la plupart des plateformes possédent déjà une lib compilée qu'il suffit d'installer. Pas besoin de recompiler Qt, à moins d'avoir optimisé à mort la plateforme destination et de vouloir aussi optimiser Qt en fonction des optims précédentes (auquel cas tu dois aller jusqu'au make install).
Pour une Debian, tu dois pouvoir trouver ton bonheur là dedans http://ftp.debian.org/debian/pool/main/q/qt4-x11/.
 
Je reviens sur la lib que ton système recherche, à propos du debug.
Une version debug est une version de ton programme qui est plus lourde en poids et en vitesse qu'une version release. Par contre, elle plus sécurisée dans la mesure où tu as moins de problèmes de mémoires. Elle te permet aussi en général de tracer ton programme ligne par ligne pour cerner un problème. En gros, c'est donc une version de ton application qui t'aide à peaufiner et enlever tous les bugs de ton applis (d'où l'appelation debug :whistle: ).
Le fait qu'il ne trouve pas la version debug de qt signifie que tu as lié ton appli avec une lib destiné au développement et qui sera donc moins performante. Ce qui est déconseillé dans le cadre d'une distribution d'une appli.
Je te laisse regarde ce lien pour savoir comment compiler en debug ou en release: http://doc.trolltech.com/4.0/qmake [...] figuration

Reply

Marsh Posté le 25-11-2005 à 10:03:16    

Merci à toi pour ton aide précieuse.
 
Je vais essayer de voir quel fichier installer parmi tous ceux de  http://ftp.debian.org/debian/pool/main/q/qt4-x11/.

Reply

Marsh Posté le 25-11-2005 à 14:18:31    

i'n'i a écrit :

... mac os X :) mais je dois faire tourner mon logiciel sous linux (debian)
 
Pour tout installer, il faut faire ceci :  
    cd /tmp
    gunzip qt-x11-opensource-desktop-4.0.1.tar.gz      
    tar xvf qt-x11-opensource-desktop-4.0.1.tar        
    cd /tmp/qt-x11-opensource-src-4.0.1
    ./configure
    make
    su -c "make install"
 
à quelle commande dois-je m'arreter pour seulement installer le minimum pour exécuter des appli Qt?


 
En fait apres avoir detare le fichier tu peux simplement ajouter le path de la lib qt dans LD_LIBRARY_PATH:
setenv LD_LIBRARY_PATH /tmp/qt-x11-opensource-src-4.0.1/lib $LD_LIBRARY_PATH
Verifies si lib est bien sous /tmp/qt-x11-opensource-src-4.0.1/ sinon mets le bon path jusqu'a lib.
 
A priori ca devrait suffire.
Stef

Reply

Marsh Posté le 28-11-2005 à 00:56:57    

Encore des petits problèmes :  
- quand je fais  
setenv LD_LIBRARY_PATH /tmp/qt-x11-opensource-src-4.0.1/lib $LD_LIBRARY_PATH  
j'ai le message suivant :  
env: LD_LIBRARY_PATH: Aucun fichier ou répertoire de ce type
 
- je suis allé sur http://ftp.debian.org/debian/pool/main/q/qt4-x11/ et j'ai un peu tout installé (les .deb concernant i386)
et lorsque je veux exécuter mon appli, j'ai ce message :
./minmaxpro: error while loading shared libraries: libXinerama.so.1: cannot open shared object file: No such file or directory
 
alors combien de librairies dois-je installer? n'y a-t-il pas un moyen simple pour pouvoir executer mon appli Qt sur un pc en évitant de tout compiler?
merci.
 
 

Reply

Marsh Posté le 28-11-2005 à 07:46:43    

Comme je te l'ai deja dit tu devrait t'en sortir en indicant ou se trouve les librairies de Qt4 dans la variable LD_LIBRARY_PATH. Cette variable permet au compilo ou a une application d'aller scanner les path indiques pour trouver les libs avec il/elle va pouvoir fonctionner.
 
D'apres ton post il y a une erreur car tu mets un espace entre ton path et la var alors qu'il faut :.
setenv LD_LIBRARY_PATH /tmp/qt-x11-opensource-src-4.0.1/lib:$LD_LIBRARY_PATH  
 
Si setenv LD_LIBRARY_PATH ne fonctionne pas chez toi cela vient probablement du fait que tu ne travailles pas en tcsh ou csh. Tu dois etre en bash donc va voir la doc pour savoir comment setter un envvar avec le bash.
 
Je crois que set LD_LIBRARY_PATH=/tmp/qt-x11-opensource-src-4.0.1/lib:$LD_LIBRARY_PATH  
 
si LD_LIBRARY_PATH n'existe pas alors set LD_LIBRARY_PATH=/tmp/qt-x11-opensource-src-4.0.1/lib
 
Encore une fois je ne connait pas trop bash donc google t'aideras surement mieux la dessus.
Stef

Reply

Marsh Posté le 28-11-2005 à 11:43:30    

j'ai bien seté ma variable d'environnement : quand je fait un set j'ai bien cette ligne :  
LD_LIBRARY_PATH=/tmp/qt-x11-opensource-src-4.0.1/lib:
mais lorsque j'exécute mon programme, j'ai toujours ce problème :
 
error while loading shared libraries: libXinerama.so.1: cannot open shared object file: No such file or directory
 
cette librairie fait-elle partie de Qt? Où est-elle?
 
Merci.

Reply

Marsh Posté le 28-11-2005 à 14:31:15    

Non, Xinerama ne fait pas parti de Qt.
Si tu as ce message, c'est sans doute que l'un/les paquetage(s) que tu as installé en dépend. Ormis le fait que ce soit étonnant, J'étais convaincu que Debian gérait les dépendances et signalait toute dépendance non résolue, un peu comme Mandrake (et oui, j'ai pas encore le grand pas vers la Debian...).
 
Puisque ça n'a pas marché, essayes de désinstaller les paquets Qt installés et de recompiler un Qt sur Debian an allant jusqu'au make install. C'est plus long, mais il ne doit pas (normalement) y avoir de problème avec cette méthode.

Reply

Marsh Posté le 28-11-2005 à 14:31:15   

Reply

Marsh Posté le 28-11-2005 à 15:59:13    

IrmatDen a écrit :

Non, Xinerama ne fait pas parti de Qt.
Si tu as ce message, c'est sans doute que l'un/les paquetage(s) que tu as installé en dépend. Ormis le fait que ce soit étonnant, J'étais convaincu que Debian gérait les dépendances et signalait toute dépendance non résolue, un peu comme Mandrake (et oui, j'ai pas encore le grand pas vers la Debian...).
 
Puisque ça n'a pas marché, essayes de désinstaller les paquets Qt installés et de recompiler un Qt sur Debian an allant jusqu'au make install. C'est plus long, mais il ne doit pas (normalement) y avoir de problème avec cette méthode.


 
Oui mais mon but est justement de ne pas aller jusqu'au make install ;)

Reply

Marsh Posté le 28-11-2005 à 23:50:23    

Les libs Qt que tu as installé utilises Xinerama (option à choisir lors du configure).
Donc, soit tu installes Xinerama, soit tu essaies de trouver un qt précompilé sans Xinerama, soit... non, tu veux toujours pas recompiler :D  
 
Je peux pas te dire grand chose de plus :spamafote:

Reply

Marsh Posté le 29-11-2005 à 12:50:55    

Un Qt précompilé? ça me conviendrait éventuellement mais est-ce possible d'en trouver-un et où? Faut-il un Qt spécial pour la machine sur laquelle je vais l'installer (en fonction du processeur notamment)? Enfin, puis-je en compiler un sur un pc et simplement porter le dossier (/usr/local/troltech/Qt...) sur un autre pc?

Reply

Marsh Posté le 29-11-2005 à 15:55:58    

i'n'i a écrit :

Faut-il un Qt spécial pour la machine sur laquelle je vais l'installer (en fonction du processeur notamment)?


 
Un peu... il faut un Qt qui utilise le bon environnement (GDI, X11,Cocoa) et le bon proco (x86, PPC, whatever)....

Reply

Marsh Posté le 30-11-2005 à 18:42:00    

En fait mon problème est expliqué ici :
 
http://doc.trolltech.com/qq/qq11-unix-deployment.html
 
http://doc.trolltech.com/4.0/distributingqt.html
 
je vais donc recompiler mon appli en 'static library', la taille sera plus importante mais elle pourra tourner sur un pc sans Qt d'installé.
 
Merci pour vos reponses ;)

Reply

Marsh Posté le 13-12-2005 à 14:41:52    

Salut. Après avoir installé QT, est qu'on peut effacer le repertoire /tmp/qt... ou pas ?

Reply

Marsh Posté le 13-12-2005 à 14:44:05    

i'n'i a écrit :

... mac os X :) mais je dois faire tourner mon logiciel sous linux (debian)
 
Pour tout installer, il faut faire ceci :  
    cd /tmp
    gunzip qt-x11-opensource-desktop-4.0.1.tar.gz      
    tar xvf qt-x11-opensource-desktop-4.0.1.tar        
    cd /tmp/qt-x11-opensource-src-4.0.1
    ./configure
    make
    su -c "make install"


 
C dans le cas où on a installé QT comme ça.


Message édité par jlv700 le 13-12-2005 à 14:44:36
Reply

Marsh Posté le 15-12-2005 à 17:40:02    

Salut,
Tout dépend si tu veux garder les sources ou non.

Reply

Marsh Posté le 16-12-2005 à 12:30:05    

IrmatDen a écrit :

Salut,
Tout dépend si tu veux garder les sources ou non.


 
Normalement, non. C'est pour économiser de l'espace disque. Je peux donc l'effacer ?

Reply

Marsh Posté le 16-12-2005 à 14:38:28    

Euuhh.... Vérifie quand même que tes includes, librairies et binaires soient dispo ailleurs sur ton système quand même ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed