Problem mit Kompilieren

Alles rund um die Programmierung mit Qt
Spielgrips
Beiträge: 51
Registriert: 8. März 2006 23:09
Kontaktdaten:

Problem mit Kompilieren

Beitrag von Spielgrips »

Hallo, ich fang im Moment Qt für mich selber zu erforschen, hab mir ein Buch über Qt geholt und wollte mein erstes Qt kompilieren und leider klappt nicht der Befehl der im Buch abgedruckt ist nicht.

Code: Alles auswählen

export QTDIR=/usr/share/qt3
c++ -I$QTDIR/include -L$QTDIR/lib -lqt -o myapp myapp.c
Ausgabe ist:
/usr/bin/ld: cannot find -lqt
collect2: ld gab 1 als Ende-Status zurück
Weiß ihr weiter? Ist langsam ernüchtern immer vor eine Wand zu stoßen :/!
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

In der pro-Datei fehlt 'CONFIG += thread'
Siehe auch http://doc.trolltech.com/3.3/qmake-manual-8.html#CONFIG
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Spielgrips
Beiträge: 51
Registriert: 8. März 2006 23:09
Kontaktdaten:

Beitrag von Spielgrips »

Das was du meinst ist eine qmake project datei, ich mein das kompilieren von single .c dateien mit g++ oder c++.

Wenn ich das als Project kompilieren möchte, mit diesen Code:

Code: Alles auswählen

CONFIG += thread
SOURCES = myapp.c
TARGET = myapp
Und dann qmake ausführe wie im Buch, erzeugt er wie geplant ein Makefile ohne Probleme, nur das Problem ist, dass er wenn ich make dann mach, das er g++ ausführt mit ohne diesen Argumenten und dann nur schrott auskommt, eben das ist nicht definiert und bool ist nicht dort erlaubt usw.... Sieht mir nach nicht gesetzten libs und headers aus. Ich hab aber QTDIR und QTMAKESPECS gesetzt als Variable :/!
Zuletzt geändert von Spielgrips am 9. März 2006 10:01, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Dann eben '-lqt-mt'
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Spielgrips
Beiträge: 51
Registriert: 8. März 2006 23:09
Kontaktdaten:

Beitrag von Spielgrips »

danke dir!!!!!!!!
Spielgrips
Beiträge: 51
Registriert: 8. März 2006 23:09
Kontaktdaten:

Dev c++

Beitrag von Spielgrips »

Eine Frage habe ich noch und zwar wenn ich das in Windows kompilieren möchte mit Dev C++ und das Open Source Edition draufmache und die include, libs beim compiler angebe und dann diesen Code kompiliere:

Code: Alles auswählen

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

int main(int argc, char* argv[])
{
 
  QApplication myapp(argc, argv);
  QWidget* mywidget = new QWidget();
  
  mywidget->setGeometry(200, 100, 450, 150);
  
  QPushButton* erster_button = new QPushButton("Quit mit pressed()", mywidget);
  erster_button->setGeometry(30, 10, 400, 30);
  QObject::connect(erster_button, SIGNAL(pressed()), &myapp, SLOT(quit()));
  
  QLabel* myLabel = new QLabel("Ein Programm mit zwei Quit - Buttons", mywidget);
  myLabel->setGeometry(30, 40, 400, 50);
  myLabel->setFont(QFont("Times", 18, QFont::Bold)); 
  
  QPushButton* zweiter_button = new QPushButton("Quit mit clicked()", mywidget);
  zweiter_button->setGeometry(30, 90, 400, 50);
  QObject::connect(zweiter_button, SIGNAL(clicked()), &myapp, SLOT(quit()));
  
  myapp.setMainWidget(mywidget);
  mywidget->show();
  
  return myapp.exec();   
    
}
Sagt er das setMainWidget kein Member der QApplication Klasse ist :/! Komischweise funktioniert der Code in Linux :)! Nur bei Dev C++ nicht so :/! Oder gibs das seit Qt4 nicht mehr?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Qt4 != Qt3 würde ich mal sagen :)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Spielgrips
Beiträge: 51
Registriert: 8. März 2006 23:09
Kontaktdaten:

Beitrag von Spielgrips »

Gibs den Qt3 als Open Source Edition noch??
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Spielgrips hat geschrieben:Gibs den Qt3 als Open Source Edition noch??
Gabs noch nie
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Spielgrips
Beiträge: 51
Registriert: 8. März 2006 23:09
Kontaktdaten:

Beitrag von Spielgrips »

In der Dokumentation steht das die alten Member von QApplication.h noch unterstützt werden und sind in der Doc auch noch zu finden!

Aber gibs da irgendwie eine spezielle Header Datei die man mit einbinden muss oder muss man noch was angeben an Flags?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Man muss QT3_SUPPORT definieren und ausserdem gegen qt3support linken.
http://doc.trolltech.com/4.1/porting4.html

Warum m uss es unbedingt Qt3 sein?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Spielgrips
Beiträge: 51
Registriert: 8. März 2006 23:09
Kontaktdaten:

Beitrag von Spielgrips »

Weil mein Buch auf Qt3 ausgelegt ist :)! Und die Doc sehr unübersichtlich ist und mir eher einen Angst - Zustand mir übermittelt...

Oder mal eine andere Frage, wie setzt man den in Qt4 das Hauptwidget?
Zuletzt geändert von Spielgrips am 9. März 2006 11:30, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Spielgrips hat geschrieben: Und die Doc sehr unübersichtlich ist und mir eher einen Angst - Zustand mir übermittelt...
Das ist das erste Mal das ich sowas höre - die Docu von Qt wird eigentlich überall gelobt.
Ausserdem sollten die vielen Beispiele und Demos die Qt beiliegen reichen um einen Überblick zu bekommen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Spielgrips
Beiträge: 51
Registriert: 8. März 2006 23:09
Kontaktdaten:

Beitrag von Spielgrips »

Oder mal eine andere Frage, wie setzt man den in Qt4 das Hauptwidget? Wenn das setMainWidget() nicht mehr aktuell ist..
Zuletzt geändert von Spielgrips am 9. März 2006 11:32, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Spielgrips hat geschrieben:Oder mal eine andere Frage, wie setzt man den in Qt4 das Hauptwidget?
Nicht mehr nötig
http://doc.trolltech.com/4.1/porting4.html#qapplication
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten