0

最近我开始研究 Grpc。在 Grpc C++ 编译时出现以下错误,不确定是什么原因造成的。

我不是来自 C++ 背景,任何帮助对我来说都会非常有用。

[HOSTLD] 链接 /home/test/grpc/bins/opt/grpc_ruby_plugin [PROTOC] 从 src/proto/grpc/channelz/channelz.proto 生成 protobuf CC 文件 [GRPC] 从 src/proto/grpc 生成 gRPC 的 protobuf 服务 CC 文件/channelz/channelz.proto

在抛出 'std::system_error' 的实例后调用终止

什么():未知错误-1

--grpc_out: protoc-gen-grpc: 插件被信号 6 杀死。

制作:*** [/home/test/grpc/gens/src/proto/grpc/channelz/channelz.grpc.pb.cc] 错误 1

在我尝试交叉编译之前,这导致 helloworld 通信出现“grpc 分段错误”。要清除我已按照以下步骤操作。

我核对了我的 /usr/local/lib/ 并清除了所有 proto 和 grpc 库

rm -f /usr/local/lib/libproto* /usr/local/lib/libgrpc*

清洁一切

git submodule foreach git clean -xfd

git 清理 -xfd

然后重新安装了所有东西,但仍然出现上述错误。有人可以帮我解决这个问题吗?

注意:我删除了完整的 grpc 文件夹,重新克隆了它。已安装 protobuf 并且 protobuf 安装成功,但是当我在 gRPC 中发出“make”命令时,出现上述错误。

当我用谷歌搜索时,这看起来是 c++ 方面的一些通用错误。

以下是我遵循的步骤:

• git clone -b $(curl -L http://grpc.io/release ) https://github.com/grpc/grpc

• cd grpc

• git 子模块更新--init

• cd third_party/protobuf

• ./Autogen.sh

• 。/配置

• make && make install(Protobuf 安装成功)

• 转到grpc 文件夹并给出make。

这不成功,在抛出 'std::system_error' 的实例后调用终止

4

1 回答 1

3

我得到了解决方案,这是由于 pthread 配置不正确。

从 protobuf 文件夹执行以下命令解决了这个问题。

pkg-config --cflags protobuf # 打印编译器标志

pkg-config --libs protobuf # 打印链接器标志

pkg-config --cflags --libs protobuf # 同时打印

./configure CXXFLAGS="$(pkg-config --cflags protobuf)" LIBS="$(pkg-config --libs protobuf)"

制作

[sudo] 进行安装

转到 grpc 文件夹并运行 make 命令。

于 2018-12-03T02:59:09.450 回答