[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