链接protobuf遇到的一个坑,记录下来备忘一下

本文记录了一次在使用protobuf库时遇到的运行时崩溃问题及其解决过程。在编译无误的情况下,程序运行到建立protobuf对象时突然崩溃。经过深入排查,发现添加-lpthread链接选项可以解决问题,即使在未直接使用多线程的程序中也是如此。这表明protobuf3内部可能依赖于pthread库。

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

[libprotobuf FATAL google/protobuf/generated_message_util.cc:783] CHECK failed: (scc->visit_status.load(std::memory_order_relaxed)) == (SCCInfoBase::kRunning): 

terminate called after throwing an instance of 'google::protobuf::FatalException'
  what():  CHECK failed: (scc->visit_status.load(std::memory_order_relaxed)) == (SCCInfoBase::kRunning): 

 程序使用protobuf,编译没有问题,运行时一到建立protobuf对象就崩溃,搜索了半天没找到原因,后来偶然看到以前正常使用的makefile文件中后面加了-lpthread,加上就好了。我自己的程序没有用到多线程,怀疑是protobuf3里面用到了。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值