000
05.07.2007, 20:37 Uhr
~elias.koegel
Gast
|
Hallo,
ich bin ein relativer Neueinsteiger ins c++, habe allerdings schon von PHP her viel Erfahrung. Nur leider braucht mal in PHP kaum irgendwelche includes(). Aber daran hängt es leider. Um das ganze mal noch näher zu erklären: Wir müssen eine wissenschaftliche Arbeit machen, die in einem Diagramm ausgewertet werden soll. Dazu wollten wir ein fertiges aus dem Qwt nehmen. Aber leider habe ich da Probleme das einzubinden. Zuersteinmal meine Dateien. Ich habe sie stark gekürzt, um hier nicht unnötig viel zu posten:
C++: |
fenster_inhalt.h #include <QtGui> #include </usr/local/qwt-5.0.2/include/qwt_plot.h>
class FensterInhalt : public QWidget { public: FensterInhalt( void ); private: QwtPlot *Diagramm; };
|
C++: |
fenster_inhalt.cpp: #include <QtGui> #include <fenster_inhalt.h> #include </usr/local/qwt-5.0.2/include/qwt_plot.h>
FensterInhalt::FensterInhalt( void ) {
Diagramm = new QwtPlot( this );
}
|
Wenn ich nun versuche, diese zu compilieren, gibt mir die Konsole folgendes zurück:
Code: |
elias@elias-desktop:~/bell$ qmake -project && qmake && make && ./bell g++ -o bell fenster.o fenster_inhalt.o main.o TempControl.o moc_fenster.o moc_TempControl.o moc_qwt_plot.o qrc_picts.o -L/usr/lib -lQtGui -lQtCore -lpthread fenster_inhalt.o: In function `FensterInhalt::FensterInhalt()': fenster_inhalt.cpp:(.text+0x53): undefined reference to `QwtPlot::QwtPlot(QWidget*)' fenster_inhalt.o: In function `FensterInhalt::FensterInhalt()': fenster_inhalt.cpp:(.text+0xe3): undefined reference to `QwtPlot::QwtPlot(QWidget*)' moc_qwt_plot.o: In function `QwtPlot::qt_metacall(QMetaObject::Call, int, void**)': moc_qwt_plot.cpp:(.text+0x1bd): undefined reference to `QwtPlot::applyProperties(QString const&)' moc_qwt_plot.cpp:(.text+0x1fa): undefined reference to `QwtPlot::grabProperties() const' moc_qwt_plot.cpp:(.text+0x244): undefined reference to `QwtPlot::clear()' moc_qwt_plot.cpp:(.text+0x287): undefined reference to `QwtPlot::autoRefresh()' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0x14): undefined reference to `QwtPlot::~QwtPlot()' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0x18): undefined reference to `QwtPlot::~QwtPlot()' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0x1c): undefined reference to `QwtPlot::event(QEvent*)' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0x40): undefined reference to `QwtPlot::sizeHint() const' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0x44): undefined reference to `QwtPlot::minimumSizeHint() const' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0x84): undefined reference to `QwtPlot::resizeEvent(QResizeEvent*)' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0xe0): undefined reference to `QwtPlot::print(QPainter*, QRect const&, QwtPlotPrintFilter const&) const' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0xe4): undefined reference to `QwtPlot::canvasMap(int) const' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0xe8): undefined reference to `QwtPlot::polish()' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0xec): undefined reference to `QwtPlot::updateLayout()' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0xf0): undefined reference to `QwtPlot::replot()' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0xf4): undefined reference to `QwtPlot::legendItemClicked()' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0xf8): undefined reference to `QwtPlot::legendItemChecked(bool)' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0xfc): undefined reference to `QwtPlot::drawCanvas(QPainter*)' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0x100): undefined reference to `QwtPlot::drawItems(QPainter*, QRect const&, QwtScaleMap const*, QwtPlotPrintFilter const&) const' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0x104): undefined reference to `QwtPlot::updateTabOrder()' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0x108): undefined reference to `QwtPlot::printLegendItem(QPainter*, QWidget const*, QRect const&) const' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0x10c): undefined reference to `QwtPlot::printTitle(QPainter*, QRect const&) const' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0x110): undefined reference to `QwtPlot::printScale(QPainter*, int, int, int, int, QRect const&) const' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0x114): undefined reference to `QwtPlot::printCanvas(QPainter*, QRect const&, QwtScaleMap const*, QwtPlotPrintFilter const&) const' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0x118): undefined reference to `QwtPlot::printLegend(QPainter*, QRect const&) const' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0x124): undefined reference to `non-virtual thunk to QwtPlot::~QwtPlot()' moc_qwt_plot.o:(.rodata._ZTV7QwtPlot[vtable for QwtPlot]+0x128): undefined reference to `non-virtual thunk to QwtPlot::~QwtPlot()' collect2: ld gab 1 als Ende-Status zurück make: *** [bell] Fehler 1 elias@elias-desktop:~/bell$
|
Installiert habe ich das Qwt einfach, indem ich es entpackt habe und "qmake && make && make install" ausgeführt habe. So wurde es auch auf qwt.sourceforge.net beschrieben.
Ich verwende übrigens Kubuntu (Feisty). Ich hatte auch schon versucht, qwt über apt-get zu installieren, aber auch ohne Erfolg.
Wo liegt nun der Fehler?? Habe ich was falsch installiert? Oder muss ich in der *.pro Datei noch irgendwelche Pfade angeben? Wenn ja, welche??
Ich würde mich freuen, wenn mir hier jemand helfen kann, da ich das Qwt wirklich brauche.
MfG Elias |