Kiitos, qmakella ja makella QApplication taitaa löytyä tässä Ubuntu 12.04 -koneessa.
Mutta lainakoneessa on Ubuntu !4.04 ja siinä ei samalla menetelmällä näyttänyt QApplication löytyvän(!?). Siinäkin on toiminut aikaisemmin.
Tarkoituksenani olisi saada liitteenä oleva pikku ohjelma ainakin kääntymään. Tässä 12.04 -koneessa se kääntyisi varmaan muuten, mutta ongelmana on
/qt/harjoittelu1/qwtkoe01$ make
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQWT_DLL -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtSvg -I/usr/include/qt4 -I. -I/usr/include/qwt-qt4 -I/usr/include/qwt -I. -o qwtkoe01.o qwtkoe01.cpp
g++ -m64 -Wl,-O1 -o qwtkoe01 qwtkoe01.o -L/usr/lib/x86_64-linux-gnu -l qwt-qt4 -L/usr/lib -lqwt -lQtSvg -lQtGui -lQtCore -lpthread
/usr/bin/ld: cannot find -lqwt-qt4
collect2: ld:n paluuarvo oli 1
make: *** [qwtkoe01] Virhe 1
Laitan vielä kokeiluohjelman tähän mukaan
#include <QApplication>
#include <qwt_plot.h>
#include <qwt_plot_curve.h>
#include <qwt_plot_grid.h>
#include <qwt_symbol.h>
#include <qwt_legend.h>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QwtPlot plot;
plot.setTitle( "Plot Demo" );
plot.setCanvasBackground( Qt::white );
plot.setAxisScale( QwtPlot::yLeft, 0.0, 10.0);
plot.insertLegend( new QwtLegend() );
QwtPlotGrid *grid = new QwtPlotGrid();
grid->attach( &plot );
QwtPlotCurve *curve = new QwtPlotCurve();
curve->setTitle( "Pixel Count" );
//curve->setPen( Qt::blue, 4 ); //xxxxxxxxxxxx
curve->setPen( QPen( Qt::red, 4 ) );
curve->setRenderHint( QwtPlotItem::RenderAntialiased, true );
QwtSymbol *symbol = new QwtSymbol( QwtSymbol::Ellipse,
QBrush( Qt::yellow ), QPen( Qt::red, 2 ), QSize( 8, 8 ) );
//curve->setSymbol( symbol ); //zzzzzzzzzzzzzzz
curve->setSymbol( symbol );
/*
QPolygonF points;
points << QPointF( 0.0, 4.4 ) << QPointF( 1.0, 3.0 )
<< QPointF( 2.0, 4.5 ) << QPointF( 3.0, 6.8 )
<< QPointF( 4.0, 7.9 ) << QPointF( 5.0, 7.1 );
//curve->setSamples( points ); //åååååååååååååååååååå
curve->attach( &plot );
*/
////http://www.qtcentre.org/threads/36294-error-no-matching-function-for-call-to-%E2%80%98QwtPlotCurve-setData
double x[2]; x[0] = 1.1; x[1] = 2.0;
double y[2]; y[0] = 1.1; y[1] = 2.0;
QwtPlotCurve *curve2 = new QwtPlotCurve();
curve2->setSamples(x, y, 2);
curve2->attach( &plot );
/*
QwtArray< double > x; x << 1.1 << 4.4 << 8.6;
QwtArray< double > y; y << 3.1 << 7.4 << 5.2;
QwtPlotCurve *curve3 = new QwtPlotCurve();
curve3->setData(x, y);
curve3->attach( &plot );
*/
plot.resize( 600, 400 );
plot.replot();
//curve3->detach();
plot.show();
/*
sleep(3);
x.clear(); y.clear();
curve3->setData(x, y);
plot.replot();
plot.show();
*/
return app.exec();
}