hallo,
ich habe mir das buch "kde- und qt-programmierung gekauft".
in der schule lief mein erstes programm aus dem buch einwandfrei. zuhause mit suse7.2 kam beim kompilieren mit:
g++ -o hello-qt -I$QTDIR/include -lqt hello-qt.cpp
folgende fehlermeldung:
/tmp/cczmcNHn.o: In function `main':
/tmp/cczmcNHn.o(.text+0x5c): undefined reference to `QLabel::QLabel(QString const &, QWidget *, char const *, unsigned int)'
/tmp/cczmcNHn.o: In function `QString::~QString(void)':
/tmp/cczmcNHn.o(.gnu.linkonce.t._._7QString+0x26): undefined reference to `QString::shared_null'
/tmp/cczmcNHn.o(.gnu.linkonce.t._._7QString+0x2e): undefined reference to `QString::shared_null'
/tmp/cczmcNHn.o(.gnu.linkonce.t._._7QString+0x3d): undefined reference to `QStringData::deleteSelf(void)'
collect2: ld returned 1 exit status
was ist dort falsch gelaufen? habe mir auch schon qt 2.3.1 installiert. danach hatte ich das gleiche problem.
hat jemand vielleicht eine idee?
ach ja... hier das programm:
#include <qapplication.h>
#include <qlabel.h>
int main(int argc, char **argv)
{
QApplication app (argc, argv);
QLabel *l= new QLabel ("Hallo, Welt!", 0);
l->show();
app.setMainWidget(l);
return app.exec();
}
Eremit
fehler beim kompilieren von qt-programmen
- killerhippy
- Posts: 529
- Joined: 19. May 2000 19:36
- Contact:
Re: fehler beim kompilieren von qt-programmen
was hat denn
echo $QTDIR
auf der Konsole fuer ein Ergebnis?
echo $QTDIR
auf der Konsole fuer ein Ergebnis?
Es gibt keine dumme Fragen!
Killerhippy
Killerhippy
Re: fehler beim kompilieren von qt-programmen
/usr/lib/qt2
ls -la /usr/lib/qt2 ergibt folgendes:
lrwxrwxrwx 1 root root 8 Jul 13 17:31 /usr/lib/qt2 -> qt-2.3.1
die verknüpfung ist also da. in ..qt2/include/ ist auch die datei qlabel.h vorhanden.
Eremit
ls -la /usr/lib/qt2 ergibt folgendes:
lrwxrwxrwx 1 root root 8 Jul 13 17:31 /usr/lib/qt2 -> qt-2.3.1
die verknüpfung ist also da. in ..qt2/include/ ist auch die datei qlabel.h vorhanden.
Eremit
Re: fehler beim kompilieren von qt-programmen
Nachtrag:
mit dem zusatz:
g++ -o hello-qt -I$QTDIR/include -L$QTDIR/lib -lqt hello-qt.cpp
also mit. -L$QTDIR/lib als zusatz läuft der compiler einwandfrei durch.
der fehler müsste also dort liegen. wie kann man das denn beheben?
Eremit
mit dem zusatz:
g++ -o hello-qt -I$QTDIR/include -L$QTDIR/lib -lqt hello-qt.cpp
also mit. -L$QTDIR/lib als zusatz läuft der compiler einwandfrei durch.
der fehler müsste also dort liegen. wie kann man das denn beheben?
Eremit
Re: fehler beim kompilieren von qt-programmen
> also mit. -L$QTDIR/lib als zusatz läuft der compiler einwandfrei durch.
> der fehler müsste also dort liegen. wie kann man das denn beheben?
Das hast du doch selber beantwortet! Beim Kompilieren -L$QTDIR/lib mit angeben (oder KDevelop oder KAppTemplate verwenden - das erspart vieeel Arbeit)!
Hast du evtl. eine alte QT Lib irgendwo rumliegen? ALso in etwa /usr/lib/libqt* bzw. /usr/local/lib/libqt* ?
Eigentlich müsste sich der Compiler beschweren, dass er -lqt nicht kennt. Mit -L$QTDIR/lib gibt man den Pfad dazu an.
CU
Andi
> der fehler müsste also dort liegen. wie kann man das denn beheben?
Das hast du doch selber beantwortet! Beim Kompilieren -L$QTDIR/lib mit angeben (oder KDevelop oder KAppTemplate verwenden - das erspart vieeel Arbeit)!
Hast du evtl. eine alte QT Lib irgendwo rumliegen? ALso in etwa /usr/lib/libqt* bzw. /usr/local/lib/libqt* ?
Eigentlich müsste sich der Compiler beschweren, dass er -lqt nicht kennt. Mit -L$QTDIR/lib gibt man den Pfad dazu an.
CU
Andi