ln -s /opt/qwt-6.1.0/plugins/designer/libqwt_designer_plugin.so /opt/Qt5.1.1/Tools/QtCreator/bin/plugins/designer/
This command is linking against the Qwt plugin for Qt Designer, not the Qwt library itself.

Your code also inherits privately from QwtPlot, which is not recommended. Your declaration for class plot should be:

Qt Code:
  1. class plot : public QwtPlot
  2. {
  3. // ...
  4. };
To copy to clipboard, switch view to plain text mode 

I don't get any error for QwtPlotCurve (which shows that QWT is installed correctly).
No, all you have done is declare a member variable that is a pointer to a QwtPlotCurve instance, which you don't actually instantiate (with "new") in the cpp file. So the compiler and linker are perfectly happy with that since nothing needs to be known about a pointer that is never used. It isn't proof of anything.