[QT+FreeBSD] Problem beim Kompilieren

root1992

root1992

von IT-Lehrern besessen
Hallo

wie man annehmen kann, habe ich ein Problem mit Qt und FreeBSD.
Nachdem ich mal mit C/C++ was grafisches machen wollte, fand ich im Bücherregal ein QT-Buch.

Ich Tippte das erste Beispiel ab. Unter SuSe8.2 hat es halbwegs funktioniert. Aber unter FreeBSD bekomme ich folgende Fehlermeldung:
/usr/bin/ld: cannot find -lqt

Ich habe ein simples Programm mit dem Befehl:
g++ push.cpp -o push -lqt
und
gcc push.cpp -o push -lqt
versucht zu kompilieren. Da kommt immer der Fehler, den ich oben beschrieben habe.

Wo kann ich die Variable(?) 'qt' für den linker angeben, so dass er sie findet und welchen Pfad muss ich angeben.

Danke.
 
hi!

also nochmal von forne: so einfach ist es nicht qt programme zu kompilieren also ich mache das immer so:
zuerst muss die umgebungsvariable gesetzt sein:

(am besten in die ~/.profile datei eintragen)
QMAKESPEC=<qtDir>/mkspecs/<compilername>
(z.b: export QMAKESPEC=/usr/lib/qt/mkspecs/linux-g++)

dann mit source ~/.profile aktualisieren

dann muss man fuer jedes projekt eine *.pro datei erzeugen!!
(fuer den anfang mal ein kleines beispiel:)
Code:
CONFIG += qt warn_on release
HEADERS = deineHeaders.h
SOURCES = deineSources.h
TARGET = deinTarget

so nun muss man sich von qmake ein makefile erstellen lassen:

qmake -o Makefile myprog.pro (qmake alleine genuegt auch ^^)

dann nur noch mit

make


kompilieren und feddich!!

ich hoffe ich konnte dir helfen!
mfg hazelnoot
 
Zuletzt bearbeitet:
Ich tippe mal, dass einfach der Pfad zu den QT-Bibliotheken nicht im LD_LIBRARY_PATH eingetragen ist. :D
Also... LD_LIBRARY_PATH anpassen, ldconfig durchlaufen lassen und nochmal versuchen. Man muss es sich ja nicht zuuu umstaendlich machen, wenn man nur ein simples Hello-World-Fenster machen will. ;)
 
hi!

@threton ich glaub auch das wird nciht ganz reichen...

ich hab das so gemacht:
also zuerst muss die umgebungsvariable QTDIR gesetzt sein(kannst wieder indie .profile reinmachen)
export QTDIR=/usr/lib/qt3#so is es bei mir

und dann musst so: kompilieren
g++ -I$QTDIR/include -L$QTDIR/lib -lqt deinProg.cpp -o deinProg

dann sein dass das von threton auch funkt hab ich noch nie probiert... bei mir funkt auf jeden fall das oben angegebene
 
Ich werds mal heute abend ausprobieren.
Aber ich habe -L/usr/X11R6/include angegeben. Das funktioniert, aber wenn ich
-llibqt-mt bzw. -lqt, ... auprobiere kommt immer der Fehler wie ich da oben beschrieben habe.

Aber ich werds mal heute ausprobieren und dann euch bescheitsagen. Kann bloß nicht gerade an meinen Rechner bin 70Km weg.


//EDIT:
Habs jetzt ausprobiert, aber leider vergebens.
@theton: Hab leider keine rootrechte

Desshalb denke ich, dass ich mir erst mal GTK2+ anschau, das funktioniert wenigstens zu kompileren. Wenn ich mal wieder (bald) ein Linux habe (Gentoo/Debian) dann werde ich da mal QT-Probieren.
 
Zuletzt bearbeitet:
Ich hab mal was aus meinem Makefile für FreeBSD Qt-Programme kopiert:

${COMPILER} -I${QTDIR}/include -L${QTDIR}/lib -lqt-mt -lc_r -lXext -o ${DATEI} ${DATEI}.cpp


Komplett schaut das Teil so aus:
#Makefile für ?.cpp
#DATEI bitte mit auf der Kommandozeile mitangeben!

COMPILER=g++
DATEI=programm


${DATEI}: ${DATEI}.cpp
${QTDIR}/bin/moc ${DATEI}.cpp > ${DATEI}.moc
${COMPILER} -I${QTDIR}/include -L${QTDIR}/lib -lqt-mt -lc_r -lXext -o ${DATEI} ${DATEI}.cpp


Damit habe ich früher unter 4.9 meine Qt-Testprogramme kompiliert, und es funktionierte.

Zur Zeit versuche ich mein Glück mit qmake, .......... und es funktioniert.
Mein Tipp: Freunde dich doch einfach mit qmake an, spart vielleicht Zeit und nerven. Und gtk soll nicht wirklich das wahre sein, habe ich mal gehört.

EDIT:
Hey, wir haben beide dasselbe avatar :-)
 
Und gtk soll nicht wirklich das wahre sein, habe ich mal gehört.

Wenn GTK "nicht wirklich das Wahre" wäre, hätte sich Gnome wahrscheinlich nie durchgesetzt und es gäbe weitaus weniger Entwickler für Projekte wir Firefox u.a. GTK-basierte Projekte. Der Unterschied liegt halt darin, dass GTK in C und QT in C++ geschrieben ist. Ich persönliche finde Programmierung mit GTK weitaus angenehmer als mit QT, das in meinen Augen ziemlich überladen ist. Aber das ist halt Geschmackssache. Sicher ist auf jeden Fall, dass GTK wesentlich "speicherfreundlicher" ist als QT.
 
mir persoenlich gefaellt gtk+ auch besser schon allein wegen dem weil es ein richtiges open source projekt ist!! denn was ist waenn qt die 2lizenzenloesung abdreht? tja... dann moecht ich kein kde nutzer sein :-)

mfg hazelnoot
 
Das Thema hat sich für mich erledigt:) Hab jetzt zusätzlich ein Debian, da funktioniert es. Aber mir gefällt auch das gtk+ fast besser, vorallem, weil es "schlanker" ist. Aber da ich mir ein Buch (C++ von A bis Z) gekauft habe und da wxwidget beschrieben ist, werde ich das mir mal anschauen.
 

Ähnliche Themen

Ubuntu X / dbus problem

kompilier problem

QT Libs werden nicht gefunden...

Superkaramba @ Debian FEHLER????

Unbekannter Fehler beim Kompilieren

Zurück
Oben