【QT】widget.obj:-1: error: LNK2019: 无法解析的外部符号 __imp_PostMessageW,函数 “private: void __cdecl Widget

博主在QT学习中遇到编译错误LNK2019,涉及__imp_PostMessageW、__imp_SetForegroundWindow和__imp_FindWindowW等外部符号无法解析。尝试多种方法无效后,最终在前辈的博客中找到答案:在源文件中添加#pragma comment(lib, "User32.lib"),成功解决编译问题。
摘要由CSDN通过智能技术生成

声明:本文是根据大佬的解决方案改写,文末附原文链接。

问题:

我在QT学习的过程中,遇到一个非常棘手的问题,简单而又复杂。网上找到一堆什么删除Debug下的文件夹再重新构建,屁用没有。在几番百度谷歌搜索下,终于找到一个解决办法,在此非常感谢前辈大佬的笔记,真的有用。先简单描述一下问题:编译后报错,以下几个,看的我是头疼不已!

error: LNK2019: 无法解析的外部符号 __imp_PostMessageW,函数 "private: void __cdecl Widget::refresh(struct HWND__ *)" (?refresh@Widget@@AEAAXPEAUHWND__@@@Z) 中引用了该符号

error: LNK2019: 无法解析的外部符号 __imp_SetForegroundWindow,函数 "private: void __cdecl Widget::refresh(struct HWND__ *)" (?refresh@Widget@@AEAAXPEAUHWND__@@@Z) 中引用了该符号

error: LNK2019: 无法解析的外部符号 __imp_FindWindowW,函数 "public: void __cdecl Widget::beginRefresh(void)" (?beginRefresh@Widget@@QEAAXXZ) 中引用了该符号

error: LNK1120: 3 个无法解析的外部命令

error: LNK2019: 无法解析的外部符号 imp_PostMessageW,函数 “private: void cdecl Widget::refresh(struct HWND *)” (?refresh@Widget@@AEAAXPEAUHWND@@@Z) 中引用了该符号

error: LNK2019: 无法解析的外部符号 imp_SetForegroundWindow,函数 “private: void cdecl Widget::refresh(struct HWND *)” (?refresh@Widget@@AEAAXPEAUHWND@@@Z) 中引用了该符号

error: LNK2019: 无法解析的外部符号 __imp_FindWindowW,函数 “public: void __cdecl Widget::beginRefresh(void)” (?beginRefresh@Widget@@QEAAXXZ) 中引用了该符号

error: LNK1120: 3 个无法解析的外部命令

问题图片:

error: LNK2019: 无法解析的外部符号

解决办法:

在对应的.cpp中添加这个文件:

#pragma comment  (lib, "User32.lib")

PS:神奇的一幕出现了,竟然真的编译通过了,编译通过了,哇,太感谢前辈了。
原文链接:https://blog.csdn.net/xiezhongyuan07/article/details/108076389
请大家去前辈的文章里面看详细解说,我这里就不赘(zhui)述了。
原文链接:https://blog.csdn.net/xiezhongyuan07/article/details/108076389

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

胡先森ia

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

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

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

打赏作者

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

抵扣说明:

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

余额充值