在 mac os 上执行程序时 libprotobuf 检查失败

Posted

技术标签:

【中文标题】在 mac os 上执行程序时 libprotobuf 检查失败【英文标题】:libprotobuf check failed while executing program on mac os 【发布时间】:2020-02-17 03:10:12 【问题描述】:

我有一个使用协议缓冲区的项目,它在 linux 和 windows 上运行良好,但在 mac os 上运行程序时出现以下错误。我确认我使用了正确的库。我使用brew install protobuf 安装协议缓冲区。

使用正确的协议生成文件,编译和编译成功,没有任何问题。

库的版本是 libprotoc 3.11.3

[libprotobuf FATAL google/protobuf/generated_message_util.cc:812] CHECK 失败:(scc->visit_status.load(std::memory_order_relaxed)) == (SCCInfoBase::kRunning): libc++abi.dylib:以 google::protobuf::FatalException 类型的未捕获异常终止:检查失败:(scc->visit_status.load(std::memory_order_relaxed)) == (SCCInfoBase::kRunning):

【问题讨论】:

【参考方案1】:

也许你可以尝试在使用 g++ 编译时添加-lpthread

【讨论】:

以上是关于在 mac os 上执行程序时 libprotobuf 检查失败的主要内容,如果未能解决你的问题,请参考以下文章

ejabber 的 erl 文件在 mac os 10.7.5 上运行时给出错误“分段错误:11”

C 程序在 Mac OS X Snow Leopard 上执行磁盘 I/O 时卡在不间断等待

如何在 mac os x sierra 上安装 libX11-dev

在 Mac OS Catalina (10.15.7) 上安装 cocoapods 时出错

在 Mac OS Lion 上使用 XAMPP 安装 MongoDb PHP 驱动程序时出错

在 Mac OS X 上使用 JTable 进行拖放