Seite 1 von 1

[gelöst] QWT unter Linux

Verfasst: 28. August 2007 22:21
von cockroach
Hallo zusammen,

habe ein Problem mit QWT unter linux. Benutze Gentoo und habe mittels emerge qt bzw. qwt installiert. Das funzt auch soweit, kann im Desinger auch die QWT Sachen benutzen. Allerdings kommt es beim compilieren zum Fehler.
Hier mal die Ausgabe:

Code: Alles auswählen

x86_64-pc-linux-gnu-g++  -o qwt main.o form1.o moc_form1.o   -L/usr/qt/3/lib64 -L/usr/X11R6/lib64 -lqt-mt -lXext -lX11 -lm -lqwt
form1.o: In function `Form1::Form1(QWidget*, char const*, bool, unsigned int)':
form1.cpp:(.text+0x324): undefined reference to `QwtPlot::QwtPlot(QWidget*, char const*)'
form1.o: In function `Form1::Form1(QWidget*, char const*, bool, unsigned int)':
form1.cpp:(.text+0x43a): undefined reference to `QwtPlot::QwtPlot(QWidget*, char const*)'
collect2: ld gab 1 als Ende-Status zurück
make: *** [qwt] Fehler 1
Habe versucht die QWT Sachen in das Makefile einzutragen unter LIBS bzw. INCPATH:

Code: Alles auswählen

INCPATH  = -I/usr/qt/3/mkspecs/linux-g++ -I. -I. -I$(QTDIR)/include -I/usr/include/qwt-qt3
LINK     = x86_64-pc-linux-gnu-g++
LFLAGS   =
LIBS     = $(SUBLIBS) -L$(QTDIR)/lib64 -L/usr/X11R6/lib64 -lqt-mt -lXext -lX11 -lm -lqwt
Er scheint die QWT-Header Files auch zu finden, nur anscheinend findet er die Library nicht ? Hatte schon jemand das Prob bzw. weiß woran das liegen könnte?
Am Quellcode selbst kann es nicht liegen, es handelt sich dabei nur um ein einfaches Widget mit einem Curve-Plot.

Gruß

Re: QWT unter Linux

Verfasst: 29. August 2007 10:30
von Uwe
cockroach hat geschrieben:Allerdings kommt es beim compilieren ...
Nein, beim Linken !
form1.cpp:(.text+0x324): undefined reference to `QwtPlot::QwtPlot(QWidget*, char const*)'
Den Konstruktor gibt es nur in der Qt3 Version. Eventuell linkst Du also gegen eine Qwt Bibliothek, die mit Qt4 gebaut wurde.
Kann es sein, daß es unter Gentoo eine libqwt-qt3.so (analog dem include Pfad ) gibt, die Du nehmen musst ?

Uwe

Verfasst: 29. August 2007 10:38
von cockroach
Hallo Uwe,

danke dir für den Hinweis. Es lag tatsächlich an dem -lqwt. Hab es durch -lqwt-qt3 ersetzt und schon geht es ;)
Ich habe nämlich qt4 und qt3 installiert, arbiete aber größtenteils nur mit qt3, da wir am lehrstuhl nur die zur verfügung haben. Manchmal ist die Lösung echt zu einfach, hab Stunden lang getüftelt...danke nochmal ;)

MfG