warning: RTTI symbol not found for class ‘webrtc::RtpHeaderParserImpl‘

 

b) p rtp_header_parser_
$9 = std::unique_ptr<webrtc::RtpHeaderParser> = {get() = 0x7f9a08002110}
(gdb) p *rtp_header_parser_
warning: RTTI symbol not found for class 'webrtc::RtpHeaderParserImpl'
$10 = warning: RTTI symbol not found for class 'webrtc::RtpHeaderParserImpl'
{_vptr.RtpHeaderParser = 0x7f9a06daffc8 <vtable for webrtc::RtpHeaderParserImpl+16>}
(gdb) p *rtp_header_parser_.get()
warning: RTTI symbol not found for class 'webrtc::RtpHeaderParserImpl'
$11 = warning: RTTI symbol not found for class 'webrtc::RtpHeaderParserImpl'
{_vptr.RtpHeaderParser = 0x7f9a06daffc8 <vtable for webrtc::RtpHeaderParserImpl+16>}
(gdb) 
 

不要使用-f nortti 编译

 

https://www.it1352.com/785762.html

遇到对象cool_cout时会重复警告。我该如何解决?当然,使用这些代码的程序工作,我没有问题。警告不应该被忽略,并且有关于必须获得的RTTI符号的知识。 (我不能用-f nortti编译,那么可执行文件会抱怨rtti应该启用iostreams)

关心的是编译器,这是实际创建程序的原因。最终用户不应该使用调试器,它不会影响你的二进制文件本身。

 


 

虽然gdb有时会发现问题,但其中的许多警告是因为gdb消耗调试符号,并且消费者(gdb)具有错误和防卫。通常他们只是减少gdb的功能。 
在这种情况下,调试器中可用的类更少。它使调试更加困难,但不会损害应用程序本身。


 

您有几个选择来处理这个错误。


 


  1. 忽略gdb中的警告并继续使用。
  2. 获取gdb的源代码并尝试找到问题并提交补丁。我确信它会受到欢迎。
  3. 使用不同的调试器。 (尽管我看到所有的替代品都是付费产品。) 改写程序以不使用任何模板。 gdb模板处理是存在大部分符号查找问题的地方。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值