error LNK2001: 无法解析的外部符号"public: virtual struct QMetaObject const * __thiscall Parent::metaObject...

本文介绍了使用VS2015结合QTvstool(QT5.9.2)进行编译时遇到的未解析外部符号错误。提供了三种解决方法,包括删除并重新编译debug文件夹,临时移除Q_OBJECT宏,以及参考额外的解决方案。

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

使用vs2015 + qt vs tool(qt5.9.2)时出了上面问题。

解决的参考网站

https://stackoverflow.com/questions/14170770/unresolved-external-symbol-public-virtual-struct-qmetaobject-const-thiscal

方法1:

将debug文件夹删除掉,重新编译。

我这里试过不行。

方法2:

将相关文件的 Q_OBJECT 删除,然后保存再编译,然后再放进来,再保存编译。

我这里试过可以正常解决。

方法3:

https://blog.youkuaiyun.com/zhenyusoso/article/details/8450906

没试过。

1>libqrencode.lib(qrencode.obj) : 找到 MSIL .netmodule 或使用 /GL 编译的模块;正在使用 /LTCG 重新启动链接;将 /LTCG 添加到链接命令行以改进链接器性能 1>DrawModeCheckDialog.obj : error LNK2001: 无法解析外部符号 "public: virtual struct QMetaObject const * __thiscall DrawModeCheckDialog::metaObject(void)const " (?metaObject@DrawModeCheckDialog@@UBEPBUQMetaObject@@XZ) 1>DrawModeCheckDialog.obj : error LNK2001: 无法解析外部符号 "public: virtual void * __thiscall DrawModeCheckDialog::qt_metacast(char const *)" (?qt_metacast@DrawModeCheckDialog@@UAEPAXPBD@Z) 1>DrawModeCheckDialog.obj : error LNK2001: 无法解析外部符号 "public: virtual int __thiscall DrawModeCheckDialog::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@DrawModeCheckDialog@@UAEHW4Call@QMetaObject@@HPAPAX@Z) 1>NCApplication.obj : error LNK2001: 无法解析外部符号 "public: virtual struct QMetaObject const * __thiscall NCApplication::metaObject(void)const " (?metaObject@NCApplication@@UBEPBUQMetaObject@@XZ) 1>NCApplication.obj : error LNK2001: 无法解析外部符号 "public: virtual void * __thiscall NCApplication::qt_metacast(char const *)" (?qt_metacast@NCApplication@@UAEPAXPBD@Z) 1>NCApplication.obj : error LNK2001: 无法解析外部符号 "public: virtual int __thiscall NCApplication::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@NCApplication@@UAEHW4Call@QMetaObject@@HPAPAX@Z) 1>NCApplication.obj : error LNK2001: 无法解析外部符号 "public: static struct QMetaObject const NCApplication::staticMetaObject" (?staticMetaObject@NCApplication@@2UQMetaObject@@B) 1>sliderStepButton.obj : error LNK2001: 无法解析外部符号 "public: virtual struct QMetaObject const * __thiscall sliderStepButton::metaObject(void)const " (?metaObject@sliderStepButton@@UBEPBUQMetaObject@@XZ) 1>sliderStepButton.obj : error LNK2001: 无法解析外部符号 "public: virtual void * __thiscall sliderStepButton::qt_metacast(char const *)" (?qt_metacast@sliderStepButton@@UAEPAXPBD@Z) 1>sliderStepButton.obj : error LNK2001: 无法解析外部符号 "public: virtual int __thiscall sliderStepButton::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@sliderStepButton@@UAEHW4Call@QMetaObject@@HPAPAX@Z) 1>E:\lyf-Qt\laser\QtVisionLaser\Win32\Debug\\LaserVision.exe : fatal error LNK1120: 10 个无法解析外部命令 怎么查看哪些头文件需要手动编译
最新发布
06-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Charles技术成长之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值