Seite 1 von 1

problem qt zu kompilieren

Verfasst: 31. Dezember 2006 15:28
von Woosh
hallo leute,

also hab folgendes problem:

hab mal einfach so zum testen mit qt ein helloworld (abgeschrieben von nem tutorial) kompiliert... allerdings kamen jede menge fehlermeldungen. daraufhin hab ich die headerdateien mal gesucht und auch gefunden und sie dann direkt per include eingebunden... jetzt sieht der quellcode folgendermaßen aus:

Code: Alles auswählen

#include "/usr/lib/qt3/include/qapplication.h"
#include "/usr/lib/qt3/include/qpushbutton.h"

int main (int argc,char **argv)
    {
    QApplication a(arg,argv);
    QPushButton hello("Hello World!",0);
    hello.resize(100,30);
    a.setMainWidget(&hello);
    hello.show();
    return a.exec();
    }
wenn ich den jetzt kompiliere:

Code: Alles auswählen

g++ test.cpp -o "helloworld"
kommen jede menge fehlermeldungen mit "undefined reference"... wisst ihr weiter?

lg woosh

edit: ich benutze qt3... kann leider kein qt4 benutzen, da ich mythtv auf dem pc habe, welches NUR mit qt3 läuft...

Verfasst: 31. Dezember 2006 15:53
von upsala

Verfasst: 31. Dezember 2006 16:01
von uhu01
Hy!

Auch wenn du ein Programm hast das nur mit qt3 läuft kannst du troztdem die qt4 Librarys installieren, die ersetzen die qt3 libs ja nicht...
Funktionieren beide parallel.

Alleine beim compilieren musst du aufpassen welches qmake aufgerufen wird.

mfg
uhu01

Verfasst: 31. Dezember 2006 17:13
von Woosh
das wäre eine möglichkeit ja, allerdings würde ich schon gerne mit den libraries von qt3 arbeiten, da es mir nicht direkt ums programmieren geht, sondern vorerst nur ums verstehen des programms mythtv (welches ebenfalls qt3-libraries benützt!!

Re: problem qt zu kompilieren

Verfasst: 31. Dezember 2006 17:26
von franzf
Woosh hat geschrieben:wenn ich den jetzt kompiliere:

Code: Alles auswählen

g++ test.cpp -o "helloworld"
kommen jede menge fehlermeldungen mit "undefined reference"... wisst ihr weiter?
Wenn du nur die Standard-C++-Library verwendest, geht das. Leider weiß g++ nicht ohne dein Zutun, wo die qt-libs+header zu finden sind.
entweder übergibst du dafür beim Kompilieren/linken mittel -l und -I die Pfade, oder (und das empfehl ich dir auch) du verwendest qmake.
Leg dein hello.cpp in ein Verzeichnis, mach

Code: Alles auswählen

qmake -project
qmake
make
und alles läuft. qmake erstellt dir ein funktionierendes Makefile, welches die korrekten Befehle incl. Angabe von include- und library-Path.

qmake ist allerdings kein magisches Zauberspielzeug, manchmal muss man deshalb auch selbst Hand anlegen (ist auch irgendwo hier ein aktueller Post zu).

Grüße
Franz

Verfasst: 1. Januar 2007 15:58
von Woosh
super... es ging! er brachte mir zwar einige warnings... aber es ging *freuu*... danke!

lg woosh