[gelöst] selber moccen mit pkg-config
Verfasst: 31. Dezember 2010 07:33
Der normale, "moderne" Weg, ein Qt-Projekt zu übersetzen, ist sicherlich
qmake -project
qmake
make
Letztens war ich in einem Programm am Fehlersuchen, bei dem es wichtig war, welche Biblitheken hinzugefügt wurden.
Leider ist das von qmake erzeugte Makefile zu unübersichtlich, um alle Bibliotheken zu finden.
Deshalb wollte ich ganz altmodisch alle Qt-Dateien mit dem Meta-Object-Compiler übersetzen:
moc mein_programm.cpp -o moc_mein_programm.o
g++ -c moc_mein_programm.cpp -o moc_mein_programm.o `pkg-config Qt --cflags'
g++ main.c moc_mein_programm.o -o projekt1 `pkg-config Qt --libs`
Dabei hat sich gezeigt, daß Qt sich bei pkg-config anders verhält als andere GUI-Bibliotheken. Wenn man im pkg-config nur Qt angibt, wird nichts gefunden. Wenn man QtGui angibt, wird der Include-Pfad richtig gefunden, aber später beim Linken werden nicht alle Referenzen aufgelöst.
Außerdem sind in meinem OpenSuSE 11.3 qt3 und qt4 nebeneinander installiert und es wird vom pkg-config qt3 eingesetzt, ich möchte aber mit qt4 programmieren.
Kann mir jemand sagen, wie man pkg-config in Verbindung mit Qt richtig einsetzt ?
qmake -project
qmake
make
Letztens war ich in einem Programm am Fehlersuchen, bei dem es wichtig war, welche Biblitheken hinzugefügt wurden.
Leider ist das von qmake erzeugte Makefile zu unübersichtlich, um alle Bibliotheken zu finden.
Deshalb wollte ich ganz altmodisch alle Qt-Dateien mit dem Meta-Object-Compiler übersetzen:
moc mein_programm.cpp -o moc_mein_programm.o
g++ -c moc_mein_programm.cpp -o moc_mein_programm.o `pkg-config Qt --cflags'
g++ main.c moc_mein_programm.o -o projekt1 `pkg-config Qt --libs`
Dabei hat sich gezeigt, daß Qt sich bei pkg-config anders verhält als andere GUI-Bibliotheken. Wenn man im pkg-config nur Qt angibt, wird nichts gefunden. Wenn man QtGui angibt, wird der Include-Pfad richtig gefunden, aber später beim Linken werden nicht alle Referenzen aufgelöst.
Außerdem sind in meinem OpenSuSE 11.3 qt3 und qt4 nebeneinander installiert und es wird vom pkg-config qt3 eingesetzt, ich möchte aber mit qt4 programmieren.
Kann mir jemand sagen, wie man pkg-config in Verbindung mit Qt richtig einsetzt ?