Qt+VS2005 LNK 2019 LNK2001 问题解决方案

写好了Debug版程序,正准备进行Release时,连接器提示obj文件中有LNK2019 和LNK2001 问题。在网上找了大半天,发现问题和自己的不一样,很多人多在说跟库文件相关,我不可否认这种情况的存在。但是问题还是要分析清楚,仔细连接器提示的错误:error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall ,怎么看怎么不明白这是啥问题,无论程序如何清理,如何重新编译,都是提示这个错误。开始很郁闷,后来仔细分析后,知道了问题的答案:moc; 把提示问题的文件删掉(.h .cpp),当然这删掉是你得先备份后,然后再工程中重新新建这两个文件,接着你重新编译一下工程,OK,问题解除。

 

其实问题就是moc文件没有及时更新导致的,但是moc一般不主动编译文件,你得自己来,或者强行让他来,就像下面这样:

 

当然也可以直接对头文件编译,但是最好建议先剪切头文件,在头文件没有内容的情况下进行一次编译,moc 自己去发现问题,再把内容粘贴进去,再编译。问题也能得到解决。

 

转一下其他人的帖,同样是error LNK2001的问题。

第一次来发个帖,如果可能的话期望找到根本原因!

几天没有关注我的QT程序,再次拿出来编译后竟然出现连接错误,因为四体不勤,没有频繁的checkin,所以无法找到中间版本,只能解决问题了。

1>MainWindowBottomWidget.obj : error

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值