使用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