link2001错误无法解析外部符号metaObject

本文详细介绍了在C++项目中遇到的编译错误LNK2001,即链接时无法找到对应moc文件的原因及解决方法。通过删除不必要的文件并仅保留源文件、工程文件、pdb文件和user文件,重新编译即可解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

http://blog.sina.com.cn/s/blog_791f544a0100r01b.html
 
 
1>MainWindowBottomWidget.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall MainWindowBottomWidget::metaObject(void)const " (?metaObject@MainWindowBottomWidget@@UBEPBUQMetaObject@@XZ)
1>MainWindowBottomWidget.obj : error LNK2001: 无法解析的外部符号 "public: virtual void * __thiscall MainWindowBottomWidget::qt_metacast(char const *)" (?qt_metacast@MainWindowBottomWidget@@UAEPAXPBD@Z)
1>MainWindowBottomWidget.obj : error LNK2001: 无法解析的外部符号 "public: virtual int __thiscall MainWindowBottomWidget::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@MainWindowBottomWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
 
问题原因:没有找到根本原因,据说是链接时无法找到对应的moc文件。
 

把makefile等文件,以及debug等目录全部删除。只留下源文件,以及工程文件,pdb文件,还有user文件。重新编译就好了

转载于:https://www.cnblogs.com/ct1104/p/4385573.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值