PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : probleme mit qt-programmierung



Woosh
28-12-2006, 21:20
hi leute, habe folgendes programm hier mal ausprobiert (habe qt 3)


#include <qapplication.h>
#include <qpushbutton.h>

int main(int argc, char *argv[])
{
QApplication app( argc,argv );
QPushButton helloworld( "Hello World", 0 );
helloworld.resize( 100,30 );
app.setMainWidget( &helloworld );
helloworld.show();
return app.exec();
}

und in dem tutorial, das ich hier in nem thread gefunden hab, steht folgendes:

----------------ZITAT TUTORIAL----------------------------------------------------------
//COMPILIERUNG:
//Um diese Datei zu kompilieren, braucht man ein paar Argumente fuer den gcc.
//Der Aufruf lautet wie folgt:
// g++ helloworld.cpp -o "helloworld" -I/pfadzuqt/include -L/pfadzuqt/lib
//
// g++ : der C++ Compiler unter Linux.
// helloworld.cpp : Unsere Source Datei
// -o "helloworld" : Die fertige Executable bekommt den Namen "helloworld"
// -I/pfadzuqt/include : Sagt dem g++ wo er die Qt-Includes ( qapplcation.h , qpushbutton.h usw. ) findet .
// -L/pfadzuqt/lib : Sagt dem g++ wo er die Qt-Libs findet.
----------------ZITAT TUTORIAL----------------------------------------------------------

wofür ist das gültig? ist hier von qt4 die rede? ich finde nämlich keine dateien wie z.b. qapplication.h (wie oben im programm bei include zu sehen ist)... könnt ihr mir weiterhelfen?

lg woosh

peschmae
28-12-2006, 22:52
qapplication.h gibts bei allen Qts. Du musst wohl noch das qt3-devel Paket (oder libqt3-dev oder so) installieren.

MfG Peschmä

Woosh
29-12-2006, 09:48
aber der quellcode stimmt soweit? einfach nur dieses dingsda installn und fertig?

locus vivendi
29-12-2006, 12:53
aber der quellcode stimmt soweit?
Der Quellcode ist Ok, soweit ich sehen kann. Aber ich würde mir überlegen, ob es nicht besser wäre, Qt4 zu benutzen. Das ist die derzeit aktuelle Version, die z. B. auch vom entstehenden KDE 4 benutzt werden wird.

Woosh
30-12-2006, 13:51
ja, das weiß ich, ich würde auch gerne qt4 benutzen, allerdings ist es unmöglich für mich, qt4 zu benützen, weil der pc eigentlich nur für das programm mythtv (welches AUSSCHLIESSLICH mit qt3 läuft) da ist. ich hab mal etwas rumgesucht, allerdings kann ich diesen devel nicht finden. könnte mir jemand sagen, wie dieser genau heißt? und vor allem: wo genau sich dei libraries dann befinden!

Woosh
31-12-2006, 11:31
weiß noch jemand weiter? bitte sagt bescheid, ich hab echt keinen peil mehr...

Woosh
31-12-2006, 14:05
also ich hab jetz mal den pfad zur library direkt angegeben! das programm sieht jetzt folgendermaßen aus:


#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 kompiliere mit

g++ test.cpp -o "helloworld"
ist das resultat eine längere fehlermeldung, welche jede menge "undefined reference to........." beinhaltet!

hoffentl. hilft das jemandem, mir zu helfen ;)

lg woosh

locus vivendi
31-12-2006, 14:36
also ich hab jetz mal den pfad zur library direkt angegeben! [...] So würde ich das nicht machen. Gib doch besser dem Compiler einen weiteren Suchpfad für Include-Dateien mit auf den Weg. Wenn du den Gcc benutzt, schaue dazu ins Texinfo-Manual ("info gcc", oder online z. B.). Es handelt sich dabei um die "-I"-Option.


wenn ich kompiliere mit
Code:
g++ test.cpp -o "helloworld"
ist das resultat eine längere fehlermeldung, welche jede menge "undefined reference to........." beinhaltet!Ja, natürlich. Du sagst ja auch gar nicht, das gegen die Qt-Bibliothek gelinkt werden soll. Das musst du schon machen.

Woosh
01-01-2007, 16:46
ich habe inzwischen eine lösung gefunden... und zwar mit dem qmake-dreisatz...


qmake -project
qmake
make

damit gings einwandfrei... trotzdem danke für eure hilfe