1、使用QWT模块的控件时,编译出现未解析的外部符号QwtPlot::staticMetaObject
error LNK2001: unresolved external symbol “public: static struct QMetaObject const QwtPlot::staticMetaObject” (?staticMetaObject@QwtPlot@@2UQMetaObject@@B)
这是因为QWT模块的控件在被其他模块引用时,需要标记为导出,即需要使用__declspec(dllexport)标识,而要使用该关键字标识的话,是需要预定义QWT_DLL的宏的,使用在CMakeList文件中添加以下语句即可解决:
add_definitions(-DQWT_DLL)
2、代码编译通过,但是运行的时候出现了QWidget: Must Construct a QApplication before a QWidget的致命错误
这是因为加载了错误的dll,比如在Debug模式下加载了Release版本的qwr.dll,使用解决方案就是使用对于的动态库即可。