Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Konkretes Problem beim lernen von QT

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
dave_g22
Gast





BeitragVerfasst am: 25. Jul 2003 10:36   Titel: Konkretes Problem beim lernen von QT

Ich habe ein Beispiel aus dem Buch "KDE und QT Programmierung" (Addison Wesley) abgetippt, aber es will partout nicht laufen, es wäre nett wenn sich das mal jemand ansehen würde und mir sagen kann, worher unten aufgeführte Fehler stammen. Das Buch geht als Arbeitsumgebung von KDE 2.2 aus, ich benutze KDE 3.1 und von der QT-Version 2.0 ich benutze 3.0 oder 3.1 (kann ich nicht genau sagen), Arbeiten tue ich mit KDevelop 2.1.5 die erstellte Objektumgebung ist QT SDI. Ich weiß es ist viel verlangt aber bitte helft mir, auch zu Erklärungen dieses Problems helfen mir.
Danke.

/*mycounter.h*/
#ifndef _MYCOUNTER_H_
#define _MYCOUNTER_H_

#include <qlabel.h>

class CmyCounter:public QLabel
{
Q_OBJECT

public:
CmyCounter(QWidget *parent=0,const char *name=0);
~CmyCounter();

public slots:
void countUp();

private:
int n;
};
#endif


/*mycounter.cpp*/
#include "mycounter.h"

CmyCounter::CmyCounter(QWidget *parent,const char* name)
: QLabel(parent,name),n(0)
{
setNum(0);
}

CmyCounter::~CmyCounter()
{}
void CmyCounter::countUp()
{
n++;
setNum(n);
}

/*main.cpp*/
#include <qapplication.h>
#include <qpushbutton.h>
#include "mycounter.h"

int main(int argc,char* argv[])
{
QApplication app (argc,argv);
QPushButton *b = new QPushButton ("Click",0);
b->show();

CmyCounter *c = new CmyCounter(0);
c->show();

QObject::connect(b,SIGNAL(clicked()),
c,SLOT(countUP()));

app.setMainWidget(b);
return app.exec();
}

Die Fehler die beim Kompilieren rausgeworfen sind und welche ich nicht verstehe sind folgende:
mycounter.o(.text+0x1e): In function `CmyCounter::CmyCounter[not-in-charge](QWidget*, char const*)':
/home/dave_g22/cppprogrammierung/helloqt4/helloqt4/mycounter.cpp:5: undefined reference to `vtable for CmyCounter'
mycounter.o(.text+0x2a):/home/dave_g22/cppprogrammierung/helloqt4/helloqt4/mycounter.cpp:5: undefined reference to `vtable for CmyCounter'
mycounter.o(.text+0x6c): In function `CmyCounter::CmyCounter[in-charge](QWidget*, char const*)':
/home/dave_g22/cppprogrammierung/helloqt4/helloqt4/mycounter.cpp:5: undefined reference to `vtable for CmyCounter'
mycounter.o(.text+0x78):/home/dave_g22/cppprogrammierung/helloqt4/helloqt4/mycounter.cpp:5: undefined reference to `vtable for CmyCounter'
mycounter.o(.text+0xa7): In function `CmyCounter::~CmyCounter [not-in-charge]()':
/home/dave_g22/cppprogrammierung/helloqt4/helloqt4/mycounter.cpp:10: undefined reference to `vtable for CmyCounter'
mycounter.o(.text+0xb3):/home/dave_g22/cppprogrammierung/helloqt4/helloqt4/mycounter.cpp:10: more undefined references to `vtable for CmyCounter' follow
collect2: ld returned 1 exit status
 

tj
Gast





BeitragVerfasst am: 25. Jul 2003 15:45   Titel: Re: Konkretes Problem beim lernen von QT

Hi,

welche GCC version verwendest Du? Ist die Qt Bibliothek mit der gleichen Version
von Compiler erzeugt worden? Wenn Du z.B. GCC 3.x verwendest und die Qt mit 2.x
kompiliert wurde, dann laesst sich das nicht zusammenlinken...

tj
 

axeljaeger
Gast





BeitragVerfasst am: 27. Jul 2003 17:27   Titel: Re: Konkretes Problem beim lernen von QT

ich denke, du hast vergessen, die Meta Object Code zu deiner Exe dazuzulinken. Ich will jetzt das Team von Pro-Linux nicht angreifen oder Mitglieder abwerben, aber ich hab die Erfahrung gemacht, das dir bei www.mrunix.de bei Qt-Problemen dank des sehr engangierten Admins "anda_skoa" sehr schnell geholfen wird.
 

dave_g22
Gast





BeitragVerfasst am: 29. Jul 2003 9:48   Titel: Re: Konkretes Problem beim lernen von QT

Ja, ich habe wirklich vergessen den moc (meta object compiler) für den Header aufzurufen.
Dieser erzeugt eine x.cpp Datei die man mitkompilieren muss und dann gehts.
Danke Nochmal
CU
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy