美文网首页
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