PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem beim Kompilieren von QT Beispiel



Berufspenner
10-10-2003, 12:47
Hi@all

Ich versuche mich, wie schon viele vor mir, nun für ein neues Projekt an QT. Also habe ich mir das QT Tutorial hier aus dem Forum zur Gemüte geführt. Nur leider gibt es Probleme beim Kompilieren. Der Code ist folgender
#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();

} zu übersetzen versuche ich es mit
g++ -Wall -w -O3 ./qt1.cpp -o ./qt1 -I/usr/X11R6/include -L/usr/X11R6/lib -lqt-mt und das kommt dabei herraus
/usr/X11R6/lib/libqt-mt.so: undefined reference to `pthread_cleanup_pop'
/usr/X11R6/lib/libqt-mt.so: undefined reference to `pthread_attr_destroy'
/usr/X11R6/lib/libqt-mt.so: undefined reference to `pthread_create'
/usr/X11R6/lib/libqt-mt.so: undefined reference to `pthread_attr_init'
/usr/X11R6/lib/libqt-mt.so: undefined reference to `pthread_exit'
/usr/X11R6/lib/libqt-mt.so: undefined reference to `pthread_cancel'
/usr/X11R6/lib/libqt-mt.so: undefined reference to `pthread_testcancel'
/usr/X11R6/lib/libqt-mt.so: undefined reference to `pthread_cleanup_push'
/usr/X11R6/lib/libqt-mt.so: undefined reference to `pthread_attr_setinheritsched'
/usr/X11R6/lib/libqt-mt.so: undefined reference to `pthread_attr_setstacksize'
/usr/X11R6/lib/libqt-mt.so: undefined reference to `pthread_attr_setdetachstate'
/usr/X11R6/lib/libqt-mt.so: undefined reference to `pthread_cond_timedwait'
Das ganze mache ich auf meiner FreeBSD Kiste mit der GCC 3.2.2 und QT in der Version 3.1.2. Wenn mir jemand eine Tip geben könnte wäre das toll.

Cu
André

peschmae
10-10-2003, 16:16
musst du etwa noch die libpthread linken? :confused:

Dann müsstest du noch
-lpthread
anhängen

Die Fehler tönen für mich fast in diese Richtung. Würde mich aber trotzdem verwundern.

MfG Peschmä

anda_skoa
10-10-2003, 16:26
Du kannst alternativ auch gegen dir nonthreaded Qt linken, falls du die auch hast. -lqt statt -lqt-mt

Da das Beispiel keinerlei Threads benutzt, ist das ohnehin egal.

Ciao,
_

Berufspenner
10-10-2003, 17:03
Hi@all

Danke für die Hilfe. Ich hab dann noch mal ein wenig gesucht und bin auf folgendes gestoßen:
http://www.bsdforen.org/foren/showtopic.php?threadid=147
Mit
g++ -Wall -w -O3 ./qt1.cpp -o ./qt1 -I/usr/X11R6/include -L/usr/X11 R6/lib -lqt-mt -pthread klappt es nun. Endlich kann ich mit QT anfangen :D

Cu
André