[Linux-bruxelles] RE: [Linux-bruxelles] Qt, C++ problème de compilation

Christophe Schockaert Christophe.Schockaert at spacebel.be
Mer 9 Juil 17:00:23 CEST 2003


> -----Original Message-----
> From: Grégoire Alexandre [mailto:gregoire.alex at easynet.be]
> 
> Tiens, je viens de faire
> $export QTDIR=/usr/lib/qt3/
> 
> et maintenant il me sort :
> [...]
> g++  -o Qt main.o   -L/usr/lib/qt3//lib -L/usr/X11R6/lib -lqt 
> -lXext -lX11 -lm
> /usr//bin/ld: cannot find -lqt
> collect2: ld returned 1 exit status
> make: *** [Qt] Erreur 1
> 
> Un main.o est apparu dans le répertoire ... évolution ?
Oui !
Il a compilé ton fichier source "main.cpp" et il a créé un objet "main.o".
Maintenant, il essaie de lier tous les objets (ici tu n'en as qu'un) et
toutes les librairies pour construire un exécutable du nom de "Qt".

Si je prends ton autre mail, les include étaient dans /usr/lib/qt3/include.
Le Makefile définissait le chemin des include ainsi:
> INCPATH  = -I/usr/lib/qt3//mkspecs/default -I. -I. -I$(QTDIR)/include
En ajoutant le export du QTDIR, il a ajouté -I /usr/lib/qt3/include pour la
recherche des includes, donc il a pu les trouver.
Tu as trouvé la solution toi même.

Maintenant, il faut faire la même chose pour les librairies.
En faisant "rpm -q -l libqt3-devel", essaie de trouver un fichier "libqt.a"
ou "libqt.so*". Note bien leur chemin.
Une fois que tu l'as localisé, regarde dans le Makefile après une ligne du
type "LIBPATH=" ou qque  chose comme ça.  Recherche après tout ce qui
ressemble à "-L quelque chose". S'il le faut, ajoute la définition du chemin
où tu as trouvé "libqt.*".

A+,

Christophe
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: </pipermail/linux-bruxelles/attachments/20030709/3fceaaef/attachment-0002.html>


Plus d'informations sur la liste de diffusion Linux-bruxelles