今晚把qwt的编译,安装,初级使用放上来,以便需要的人,能更快部署好编程环境,不至于每次都像我这样花很多时间。
注意:Qtcreater使用的是什么编译器编译出来的,就要用那个编译器来编译qwt。
我的vs编译器是vs2012,并且qt构件是64位的。
下载:
去 SF下载最新的Qwt版本,我现在的版本是6.1.0 下载地址(左键新标签打开),并且解压到一个文件夹。
用qtcreater编译:
用QtCreater打开文件夹里面的qwt.pro文件,右击qwt项目,依次点击,‘qmake’,‘构建’
用vs2012命令行编译:
在vs2012程序目录中打开:‘打开 VS2012 x64 本机工具命令提示’(如果最后不成功,可以尝试其他本机工具命令提示)
cd到qwt-6.1.0目录
调用qt5的bin文件夹下的qmake,我的路径是E:\QT5\5.1.1\msvc2012_64_opengl\bin\qmake.exe
所以在命令提示符下:E:\QT5\5.1.1\msvc2012_64_opengl\bin\qmake.exe qwt.pro
完成后输入:nmake
到这里,qtcreater编译后vs2012编译都完成了
安装:
在‘打开 VS2012 x64 本机工具命令提示’下,键入:nmake install,会自动安装到C:\qwt-6.1.0目录下
如果有需要修改路径,可以修改qwt-6.1.0源文件下的qwtconfig.pri文件
为了便于移动到其它的电脑,我喜欢添加到工程的做法是:
把C:\Qwt-6.1.0\lib目录加入到系统PATH变量里面
把C:\Qwt-6.1.0\plugins\designer加入到5.1\qt\plugins\designer
在新建qwt工程的时候:在pro文件最后加上
win32:CONFIG(release, debug|release): INCLUDEPATH += E:\Others\QT5\Qwt-6.1.0\include \ LIBS += -LE:\Others\QT5\Qwt-6.1.0\lib\ -lqwtd Config += qwt
就可以正常编译文件了
示例:在新建的项目main.cpp中
#include <qapplication.h> #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 a( 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( "Some Points" ); curve->setPen( Qt::blue, 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 ); 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 ); plot.resize( 600, 400 ); plot.show(); return a.exec(); }
如果成功就可以了。
添加帮助文档:
打开qtcreater工具->选项
点击帮助->文档选项卡->添加按钮
从SF上下载qwt-6.1.0.qch文件,添加即可
几个常见的错误:
qwidget: must construct a qapplication before a qpaintde 查看
error LNK2001: 无法解析的外部符号"public: static struct QMetaObject const QwtPlot::staticMetaObject" 查看
参考资料:
Installation of Qt 5.0.1 and Qwt 6.1.0 rc3 (Win7 64bit) 查看
可能还需要更新!
http://blog.sina.com.cn/s/blog_8acf1be101019ioz.html