使用protobuffer,出现报错Expected top-level statement (e.g. "message").

1. 运行环境

go环境 与 protoc版本
[root@gopher ~]# go version
go version go1.18.3 linux/amd64

[root@gopher ~]# protoc –version
libprotoc 3.21.5

使用的protoc版本(已编译二进制文件)
github.com/protocolbuffers/protobu...

go插件安装:
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
参考:developers.google.com/protocol-buf...

2. 问题描述?

编译protoc文件报错:
[root@gopher pb]# protoc –go_out=./ Person.proto
Person.proto:3:1: Expected top-level statement (e.g. “message”).

proto文件内容

syntax = "proto3";
//package pb;
go_package pb;

message Foo {
  repeated int32 items = 1;
}

message Bar {
  repeated Foo items = 1;
}

3. 您期望得到的结果?

4. 您实际得到的结果?

[root@gopher pb]# protoc –go_out=./ Person.proto
Person.proto:3:1: Expected top-level statement (e.g. “message”).

最佳答案

问题已经解决,可以参考此链接的原文示例的protocolbuffer来编译,可以通过。问题在最初的proto文件格式有问题:developers.google.com/protocol-buf...

1年前 评论
讨论数量: 1

问题已经解决,可以参考此链接的原文示例的protocolbuffer来编译,可以通过。问题在最初的proto文件格式有问题:developers.google.com/protocol-buf...

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!