在
http://qwt.sourceforge.net/下载QWT最新版本;
本文档配置环境为:Windows XP + Visual Studio 2010 + QT 4.8.0 + QWT 6.0
(1)下载QWT安装包 http://voxel.dl.sourceforge.net/project/qwt/qwt-beta/6.0.0-rc5/qwt-6.0.0-rc5.zip,解压zip文件,譬如解压到
C:\Qt\qwt-6.0.0-rc5目录
(2)从QT Command Prompt进入到
C:\Qt\qwt-6.0.0-rc5
,分别执行以下命令
qmake
make
make install
再执行以下命令
cd examples
qmake
make
(3)
执行完以后,会在C盘生成一个目录
C:\Qwt-6.0.0-rc5
,在该目录中有include,lib和plugins等目录,其中inculude和lib为QWT的一些库,分别把这些路径加入到系统环境变量中(需要说明的是:一般情况下是要有include,lib,bin三个目录的,这里lib和bin合并了,在lib中同时含有.dll和.lib文件);在VS中完成相关配置。
(4)一般情况下,配置第三方库,到第(3)步就应该结束了,但是如果在此时加载QWT的examples,譬如我们加载bode这个工程文件,执行后会出现以下错误
moc_PlotCurve.obj : error LNK2001: unresolved external symbol >> "public: static struct QMetaObject const QwtPlot::staticMetaObject" (?staticMetaObject@QwtPlot@@2UQMetaObject@@B)
出现以上错误的原因是:
只有在预处理的时候定义了QWT_DLL才能使用QWT的抛出类,否则就会出错!这个道理同样适用于我们自己生成的动态库
添加方法:Project->Properties->C/C++->Preprocessor->
Preprocessor Definitions 添加
QWT_DLL
说明:以上配置在Release模式下运行正常,Debug模式下可以build成功,但是无法跳出运行结果。