[gull] QT

Yann Sagon ypublic at hasa.ch
Tue Jul 15 15:47:01 CEST 2003


Bonjour,

J'essaye de me mettre à QT et j'ai un problème de compilation.

J'utilise RedHat 8.0
QT 3.0.5

[ysagon at gopc3 qt]$ cat 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();
}

[ysagon at gopc3 qt]$ qmake -project
[ysagon at gopc3 qt]$ qmake
[ysagon at gopc3 qt]$ make
g++  -o qt main.o    -L/usr/X11R6/lib -lXext -lX11 -lm
main.o: In function `main':
main.o(.text+0x30): undefined reference to 
`QApplication::QApplication[in-charge](int&, char**)'
main.o(.text+0x40): undefined reference to 
`QString::QString[in-charge](char const*)'
main.o(.text+0x5c): undefined reference to 
`QPushButton::QPushButton[in-charge](QString const&, QWidget*, char 
const*)'
main.o(.text+0x77): undefined reference to `QString::shared_null'
main.o(.text+0x81): undefined reference to `QStringData::deleteSelf()'
main.o(.text+0x99): undefined reference to `QPushButton::resize(int, int)'
main.o(.text+0xa5): undefined reference to 
`QApplication::setMainWidget(QWidget*)'
main.o(.text+0xad): undefined reference to `QWidget::show()'
main.o(.text+0xb5): undefined reference to `QApplication::exec()'
main.o(.text+0xbf): undefined reference to `QPushButton::~QPushButton 
[in-charge]()'
main.o(.text+0xc7): undefined reference to `QApplication::~QApplication 
[in-charge]()'
main.o(.text+0xd9): undefined reference to `QString::shared_null'
collect2: ld a retourné 1 code d'état d'exécution
make: *** [qt] Erreur 1

Il semblerait (suite à des recherches sur google) qu'il me manque "-lqt" ou 
"-lqt-mt" comme flag de compilation. J'ai essayé de les mettre mais ils 
sont introuvables, alors que si je fais:
[ysagon at gopc3 qt]$ /sbin/ldconfig --print-cache | grep libqt
        libqtmcop.so.1 (libc6) => /usr/lib/libqtmcop.so.1
        libqthreads.so.0 (libc6) => /usr/lib/libqthreads.so.0
        libqt.so.3.0.5 (libc6) => /usr/lib/qt-3.0.5/lib/libqt.so.3.0.5
        libqt.so.3.0 (libc6) => /usr/lib/qt-3.0.5/lib/libqt.so.3.0
        libqt.so.3 (libc6) => /usr/lib/qt-3.0.5/lib/libqt.so.3
        libqt.so (libc6) => /usr/lib/qt-3.0.5/lib/libqt.so
        libqt-mt.so.3.0 (libc6) => /usr/lib/qt-3.0.5/lib/libqt-mt.so.3.0
        libqt-mt.so.3 (libc6) => /usr/lib/qt-3.0.5/lib/libqt-mt.so.3
        libqt-mt.so (libc6) => /usr/lib/qt-3.0.5/lib/libqt-mt.so
ils semblent être la.. 

J'ai également:
[ysagon at gopc3 ysagon]$ echo $QTDIR
/usr/lib/qt3-gcc3.2

Voila, si quelqu'un à un début de piste, je serai très content!

-- 
Yann Sagon



More information about the gull mailing list