badBACKSLASH
11.09.2005, 11:45
HALLO erstmal!
ich habe vor kurzem angefangen mich fuer GUI programmierung zu intressieren und habe nun ein kleies problem mit volgedem Code:
/*badCat.cpp*/
#include <qapplication.h>
#include <qpushbutton.h>
#include <qlineedit.h>
#include <qlabel.h>
#include <qtextedit.h>
class LoadUrl : public QWidget {
Q_OBJECT
public:
/*konstruktor*/
LoadUrl() {
initializer_urlEingabeelemente();
}//end konstruktor
void initializer_urlEingabeelemente() {
/*zeichnen des labels wo "URL:" drinnensteht*/
QLabel *label_urlWeiser = new QLabel(this);
label_urlWeiser -> setText("URL:");
label_urlWeiser -> setGeometry(10, 20, 61, 20);
/*zeichnen des textfeldes fuer die eingabe der URL*/
QLineEdit *lineEdit_urlEingabe = new QLineEdit(this);
lineEdit_urlEingabe -> setGeometry(40, 20, 860, 22);
/*zeichnen den buttons fuer das laden der URL*/
QPushButton *button_loadUrl = new QPushButton("load..." ,this);
button_loadUrl -> setGeometry(907, 16, 50, 30);
/*zeichnen des textEdits fuer den html text
(wahrscheinliche veraenderung waenn weiter im QT-Buch)*/
QTextEdit *textEdit_htmlAnzeige = new QTextEdit(this);
textEdit_htmlAnzeige -> setGeometry(10, 50, 940, 580);
}//end initializer_urlEingabeelemente
public slots:
void ladeWebSite(char* url) {}//end ladeWebSite
};// end LoadUrl
int main(int argc, char *argv[]) {
QApplication badCat(argc, argv);
LoadUrl *widget_badCat = new LoadUrl();
widget_badCat -> setGeometry(100, 100, 960, 640);
widget_badCat -> setCaption("badCat - iNet 8r0wZeR");
badCat.setMainWidget(widget_badCat);
widget_badCat -> show();
return badCat.exec();
}//end main
ich habe dafuer volgede projektdatei mit dem namen badBat.pro erstellt:
CONFIG += qt warn_on release
SOURCES = badCat.cpp
TARGET = badCAT
und meinen Code mache ich volgedermassen ausfuehrbar(unter linux):
qmake && make
dann kommt volgede fehlermaeldung:
[badbackslash@localhost badCAT]$ qmake && make
g++ -o badCAT badCat.o -L/usr/lib/qt-3.3/lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm
badCat.o(.text+0x5b): In function `main':
/home/rsickinger/badCAT/badCat.cpp:11: undefined reference to `vtable for LoadUrl'
badCat.o(.text+0x62):/home/rsickinger/badCAT/badCat.cpp:11: undefined reference to `vtable for LoadUrl'
collect2: ld gab 1 als Ende-Status zurück
make: *** [badCAT] Fehler 1
[badbackslash@localhost badCAT]$
tja was mir noch aufgefallen ist:
waenn ich meinen code folgendermassen aendere:
...
#include <qlabel.h>
#include <qtextedit.h>
class LoadUrl : public QWidget {
//Q_OBJECT
public:
/*konstruktor*/
LoadUrl() {
...
dann laesst es sich kompilieren also muss es an dem irgenwie liegen oder??
waere super waenn jemand rat wuresste!!
na dann
mfg
bad\
ich habe vor kurzem angefangen mich fuer GUI programmierung zu intressieren und habe nun ein kleies problem mit volgedem Code:
/*badCat.cpp*/
#include <qapplication.h>
#include <qpushbutton.h>
#include <qlineedit.h>
#include <qlabel.h>
#include <qtextedit.h>
class LoadUrl : public QWidget {
Q_OBJECT
public:
/*konstruktor*/
LoadUrl() {
initializer_urlEingabeelemente();
}//end konstruktor
void initializer_urlEingabeelemente() {
/*zeichnen des labels wo "URL:" drinnensteht*/
QLabel *label_urlWeiser = new QLabel(this);
label_urlWeiser -> setText("URL:");
label_urlWeiser -> setGeometry(10, 20, 61, 20);
/*zeichnen des textfeldes fuer die eingabe der URL*/
QLineEdit *lineEdit_urlEingabe = new QLineEdit(this);
lineEdit_urlEingabe -> setGeometry(40, 20, 860, 22);
/*zeichnen den buttons fuer das laden der URL*/
QPushButton *button_loadUrl = new QPushButton("load..." ,this);
button_loadUrl -> setGeometry(907, 16, 50, 30);
/*zeichnen des textEdits fuer den html text
(wahrscheinliche veraenderung waenn weiter im QT-Buch)*/
QTextEdit *textEdit_htmlAnzeige = new QTextEdit(this);
textEdit_htmlAnzeige -> setGeometry(10, 50, 940, 580);
}//end initializer_urlEingabeelemente
public slots:
void ladeWebSite(char* url) {}//end ladeWebSite
};// end LoadUrl
int main(int argc, char *argv[]) {
QApplication badCat(argc, argv);
LoadUrl *widget_badCat = new LoadUrl();
widget_badCat -> setGeometry(100, 100, 960, 640);
widget_badCat -> setCaption("badCat - iNet 8r0wZeR");
badCat.setMainWidget(widget_badCat);
widget_badCat -> show();
return badCat.exec();
}//end main
ich habe dafuer volgede projektdatei mit dem namen badBat.pro erstellt:
CONFIG += qt warn_on release
SOURCES = badCat.cpp
TARGET = badCAT
und meinen Code mache ich volgedermassen ausfuehrbar(unter linux):
qmake && make
dann kommt volgede fehlermaeldung:
[badbackslash@localhost badCAT]$ qmake && make
g++ -o badCAT badCat.o -L/usr/lib/qt-3.3/lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm
badCat.o(.text+0x5b): In function `main':
/home/rsickinger/badCAT/badCat.cpp:11: undefined reference to `vtable for LoadUrl'
badCat.o(.text+0x62):/home/rsickinger/badCAT/badCat.cpp:11: undefined reference to `vtable for LoadUrl'
collect2: ld gab 1 als Ende-Status zurück
make: *** [badCAT] Fehler 1
[badbackslash@localhost badCAT]$
tja was mir noch aufgefallen ist:
waenn ich meinen code folgendermassen aendere:
...
#include <qlabel.h>
#include <qtextedit.h>
class LoadUrl : public QWidget {
//Q_OBJECT
public:
/*konstruktor*/
LoadUrl() {
...
dann laesst es sich kompilieren also muss es an dem irgenwie liegen oder??
waere super waenn jemand rat wuresste!!
na dann
mfg
bad\