使用qwt提示error LNK2001 问题的解决方法

如果在继承了qwt控件的类中使用signal或slot,需要使用Q_OBJECT宏,即:

class XX : public QwtPlot

{

  Q_OBJECT

...

}

 

这时使用vc编译环境的话可能会提示

error LNK2001: unresolved external symbol "public: static struct QMetaObject const QwtDial::staticMetaObject" (?staticMetaObject@QwtDial@@2UQMetaObject@@B)

 

解决方法是在pro文件顶端加上

DEFINES += QWT_DLL

或者如果本项目的qwt配置文件如qwt.pri文件里有

win32{

contains(CONFIG,QwtDll){

DEFINES += QT_DLL QWT_DLL

QWTLIB = $${QWTLIB}$${VER_MAJ}

}

则可以在pro文件顶端加入

CONFIG += qwtDll

posted on 2012-09-07 09:46  oceanking  阅读(530)  评论(0编辑  收藏  举报