qt ohne qmake

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Columbus
Beiträge: 1051
Registriert: 30.04.2002 15:25:02
Wohnort: Mainz
Kontaktdaten:

qt ohne qmake

Beitrag von Columbus » 19.05.2007 19:08:30

Hallo zusammen, ich versuche gerade ein einfaches Qt-Programm ohne qmake und Co. zum laufen zu bringen. Leider bekommt man gar keine Infos dazu, welche von den in Debian mitgelieferten Qt-Bibliotheken z.B. die QApplication beinhaltet.
Also das Programm ist doch recht einfach:

Code: Alles auswählen

#include <QApplication>
#include <QLabel>

int main ( int argc, char *argv[] )
{
	QApplication app(argc,argv);
	QLabel *label = new QLabel("Hallo Qt!");
	label->show();
	return app.exec();
}
Aber wie bekomme ich es mit gcc und make zum compilieren? Statt mit

Code: Alles auswählen

qmake -project
qmake
... was ja sehr komfortabel ist, aber es würde mich einfach mal interessieren.

Gruss Christian
Die größten Kritiker der Elche,
waren früher selber welche.

F.W. Bernstein

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 19.05.2007 21:06:53

nach dem die qt Libraries auch mit einer pkg-config ausgestattet sind, kannst du folgendes machen:

Code: Alles auswählen

g++ -o x x.c `pkg-config --cflags --libs QtGui`
Gruß
gms

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von GoKi » 19.05.2007 21:22:55

Evtl brauchst Du dann bei Verwendung von Q_OBJECT, also bei Slots und Signals in einer eigenen Klasse den moc.
http://doc.trolltech.com/4.2/metaobjects.html

Daher brauchst du evtl spezielle Regeln im Makefile. Siehe z.B.
http://doc.trolltech.com/4.2/moc.html
Gleiches gilt dann auch für uic, falls Du den designer verwendest, um die grafische Oberfläche mit QT zu bearbeiten.
http://doc.trolltech.com/4.2/uic.html

Ich selbst bevorzuge qmake oder cmake (Muss ich mal bei Gelegenheit genauer anschauen :) )
MfG GoKi
:wq

Antworten