未定义:proto.ProtoPackageIsVersion3

我知道: ../.../...pb.go:21:11: undefined: proto.ProtoPackageIsVersion3 我想要它到第 2 版

protochttps://github.com/google/protobuf/releases $ protoc --versiongives安装libprotoc 3.6.0。我也是golang-goprotobuf-devapt.

问题:

  1. protoc(protobuffer 编译器总是编译到 Proto3 版本?)

  2. 需要什么额外的支持?

  3. 我怎样才能得到一个编译为 Proto2 的编译器?

  4. 我注意到在一个系统中 libproto 3.6.1 编译为 proto2,我不明白这一点。


犯罪嫌疑人X
浏览 197回答 3
3回答

婷婷同学_

protoc(protobuffer 编译器总是编译到 Proto3 版本?)这取决于你的 protobuf 版本和你的 protoc-gen-go 版本。需要什么额外的支持?我想你需要安装protoc-gen-go我怎样才能得到一个编译为 Proto2 的编译器?安装特定版本的 protoc-gen-goGIT_TAG="v1.2.0" # change as neededgo get -d -u github.com/golang/protobuf/protoc-gen-gogit -C "$(go env GOPATH)"/src/github.com/golang/protobuf checkout $GIT_TAGgo install github.com/golang/protobuf/protoc-gen-go我注意到在一个系统中 libproto 3.6.1 编译为 proto2,我不明白这一点。不确定这个,但如果我没记错的话,决定因素是你的 protoc-gen-go 版本。

交互式爱情

如果您遇到以下错误:   undefined: proto.ProtoPackageIsVersion3这是因为 protoc-gen-go 的版本不正确。 $ git clone https://github.com/golang/protobuf  $ cd ~/protobuf/protoc-gen-go  $ git checkout tags/v1.2.0 -b v1.2.0  $ go install希望它有所帮助!

jeck猫

我跑了这个:go get github.com/gogo/protobuf基本上它更新github.com/gogo/protobuf v1.2.1为github.com/gogo/protobuf v1.3.1
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go