【笔记】cmake集成QWT模块时遇到的编译错误

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,使用解决方案就是使用对于的动态库即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值