美文网首页
golang 解决"google.protobuf.Empty"

golang 解决"google.protobuf.Empty"

作者: 東玖零 | 来源:发表于2022-09-14 18:53 被阅读0次

背景:今天引用了一个同事提供的接口,由于他的接口不仅是给我一个人使用,还会给其他人使用,那我就拷贝了一个接口,然后使用命令编译,然后就报错了。

拷贝接口:

rpc TestList(google.protobuf.Empty) returns (ItemResponseDTO){}

编译命令:

protoc --go_out=plugins=grpc:.  abc.proto

报错如下:

abc.proto "google.protobuf.Empty" is not defined.

其实这个错误不难,奈何是接手其他人的项目,又很久没写。

网上各种搜索,然后得到结果大概是把存放google.protobuf.Empty的目录路径写在编译命令里,这个protobuf目前也是半懂不懂的,要是全搞明天太花时间了,不扯了说最简单解决方法。

重点 is not defined 是没定义的意思,没定义就是在.proto文件头部没有导入

1.在头部文件导入empty.proto。

syntax = "proto3";

import "google/protobuf/empty.proto";

2.在abc.proto同级新建google目录,google目录下新建protobuf目录,然后将empty.proto放在protobuf目录下。

再次编辑就成功了。

empty.proto的来源,安装protobuf成功后,引用的头文件都在/usr/local/include这里,具体路径如下:

/usr/local/include/google/protobuf/empty.proto

相关文章

网友评论

      本文标题:golang 解决"google.protobuf.Empty"

      本文链接:https://www.haomeiwen.com/subject/mgrlortx.html