[gull] Problème de compile avec qtdesigner/qt3

Alix MASCRET mascret at altern.org
Tue Oct 21 14:02:02 CEST 2003


Bonjour,
je pensais que ça venait de ma configuration mais après en avoir
fait le tour plusieurs fois et fouillé plusieurs listes je ne trouve toujours 
pas.
J'utilise une debian, voici ce que j'ai installé :
===
root at mr:# dpkg -l *qt3* | grep ^ii
ii  libqt3         3.1.2-0woody1  Qt Library
ii  libqt3-dev     3.1.2-0woody1  Qt development files
ii  libqt3-headers 3.1.2-0woody1  Qt3 header files
ii  libqt3-i18n    3.1.2-0woody1  i18n files for Qt3 library
ii  qt3-designer   3.1.2-0woody1  Qt3 Designer
ii  qt3-dev-tools  3.1.2-0woody1  Qt3 development tools
ii  qt3-doc        3.1.2-0woody1  Qt3 API documentation
===
Les variables environnement :
===
export QTDIR=/usr/share/qt3
export QMAKESPECS=$QTDIR/mkspecs/linux-g++
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
===
Le main.cpp
===
#include <qapplication.h>
#include <qpushbutton.h>


int main( int argc, char **argv )
{
    QApplication a( argc, argv );

    QPushButton hello( "Hello world!", 0 );
    hello.resize( 100, 30 );

    a.setMainWidget( &hello );
    hello.show();
    return a.exec();
}
===
locate libqt.so
J'ai fais un updatedb
C'est un ln sur /usr/lib/libqt.so.3.1.2
qui existe bien
===
/usr/lib/libqt.so.3
/usr/lib/libqt.so.3.1
/usr/lib/libqt.so.3.1.2
/usr/share/qt3/lib/libqt.so   <---
/usr/share/qt3/lib/libqt.so.3
/usr/share/qt3/lib/libqt.so.3.1
===
Recherche dans le cache de ldconfig
ça correspond bien
===
ldconfig -p | grep libqt
        libqtmcop.so.1 (libc6) => /usr/lib/libqtmcop.so.1
        libqt.so.3.1 (libc6) => /usr/lib/libqt.so.3.1
        libqt.so.3.1 (libc6) => /usr/share/qt3/lib/libqt.so.3.1
        libqt.so.3 (libc6) => /usr/lib/libqt.so.3
        libqt.so.3 (libc6) => /usr/share/qt3/lib/libqt.so.3
        libqt.so (libc6) => /usr/share/qt3/lib/libqt.so   				<--- 
        libqt-mt.so.3.1 (libc6) => /usr/lib/libqt-mt.so.3.1
        libqt-mt.so.3.1 (libc6) => /usr/share/qt3/lib/libqt-mt.so.3.1
        libqt-mt.so.3 (libc6) => /usr/lib/libqt-mt.so.3
        libqt-mt.so.3 (libc6) => /usr/share/qt3/lib/libqt-mt.so.3
===
Ce qui marche :
===
qmake -project -o premier.pro premier.cpp
qmake -o Makefile premier.pro

La ligne de compilation générée dans le Makefile fonctionne et fournit 
bien l'objet .o:
g++ -c -pipe -Wall -W -O2  -DQT_NO_DEBUG -I/usr/share/qt3/mkspecs/default \
-I. -I. -I/usr/share/qt3/include -o premier.o premier.cpp
La ligne d'édition de lien, elle plante :
g++  -o premier premier.o   -L/usr/share/qt3/lib -L/usr/X11R6/lib -lqt \
-lXext -lX11 -lm
premier.o(.text+0x1c): In function `main':
: référence indéfinie vers « QApplication::QApplication[in-charge](int&, 
char**)»
[...]

===
Si je remplace -lqt par -lqt-mt, là j'ai une grosse erreur :
/usr/bin/ld: ne peut trouver -lqt-mt
collect2: ld returned 1 exit status
Normal car ce n'est pas installé.
===
Extrait du Makefile généré par qmake :
===
CC       = gcc
CXX      = g++
CFLAGS   = -pipe -Wall -W -O2  -DQT_NO_DEBUG
CXXFLAGS = -pipe -Wall -W -O2  -DQT_NO_DEBUG
INCPATH  = -I$(QTDIR)/mkspecs/default -I. -I. -I$(QTDIR)/include
LINK     = g++
LFLAGS   =
LIBS     = $(SUBLIBS) -L$(QTDIR)/lib -L/usr/X11R6/lib -lqt -lXext -lX11 -lm
MOC      = $(QTDIR)/bin/moc
UIC      = $(QTDIR)/bin/uic
QMAKE    = qmake
===

Voilà si quelqu'un à une idée, une piste ou d'autres moyens de tester
et valider la configuration ça m'aiderait bien.
AM








More information about the gull mailing list