jjzjj

go - 使用 protoc-gen-go 创建一个 .pb.go 导入 google/golang 但找不到包

我正在使用protoc-gen-go将CProtocolBuffers编译成Golang效果很好,我几乎可以goinstall包,但我明白了错误:找不到包“google/protobuf”但是我在任何地方都找不到这个包可以下载,有人能告诉我我应该怎么做吗?谢谢。我正在按照here中的所有步骤进行操作然后我运行protoc--go_out=。*.proto我得到了我所有的文件,但是错误的protoimport 最佳答案 正如@poopoothegoriall所说,请使用来自github的protobuf,而不是code-google。

go - 使用 protoc-gen-go 创建一个 .pb.go 导入 google/golang 但找不到包

我正在使用protoc-gen-go将CProtocolBuffers编译成Golang效果很好,我几乎可以goinstall包,但我明白了错误:找不到包“google/protobuf”但是我在任何地方都找不到这个包可以下载,有人能告诉我我应该怎么做吗?谢谢。我正在按照here中的所有步骤进行操作然后我运行protoc--go_out=。*.proto我得到了我所有的文件,但是错误的protoimport 最佳答案 正如@poopoothegoriall所说,请使用来自github的protobuf,而不是code-google。

已解决TypeError: Descriptors cannot not be created directly.

已解决TypeError:Descriptorscannotnotbecreateddirectly.Ifthiscallcamefroma_pb2.pyfile,yourgeneratedcodeisoutofdateandmustberegeneratedwithprotoc>=3.19.0.Ifyoucannotimmediatelyregenerateyourprotos,someotherpossibleworkaroundsare:1.Downgradetheprotobufpackageto3.20.xorlower.2.SetPROTOCOL_BUFFERS_PYTHON_IM

已解决TypeError: Descriptors cannot not be created directly.

已解决TypeError:Descriptorscannotnotbecreateddirectly.Ifthiscallcamefroma_pb2.pyfile,yourgeneratedcodeisoutofdateandmustberegeneratedwithprotoc>=3.19.0.Ifyoucannotimmediatelyregenerateyourprotos,someotherpossibleworkaroundsare:1.Downgradetheprotobufpackageto3.20.xorlower.2.SetPROTOCOL_BUFFERS_PYTHON_IM

java - org.apache.maven.plugin.MojoExecutionException : protoc failure

我在使用maven从源代码编译hadoop时遇到了一些问题。这是错误,任何人都可以帮助我吗?谢谢。[ERROR]Failedtoexecutegoalorg.apache.hadoop:hadoop-maven-plugins:3.0.0-SNAPSHOT:protoc(compile-protoc)onprojecthadoop-c[Help1]org.apache.maven.lifecycle.LifecycleExecutionException:Failedtoexecutegoalorg.apache.hadoop:hadoop-maven-plugins:3.0.0-SN

c++ - GOOGLE_PROTOBUF_MIN_PROTOC_VERSION 检查期间编译时出现 Protocol Buffer 错误

我目前收到一个错误,它指向protoc生成的头文件中的这些行:#if2006001但我的协议(protocol)版本与上面的版本匹配:protoc--versionlibprotoc2.6.1我做错了什么?最初我的protoc版本是3.0.0然后通过同步回2.6.1并执行这些步骤重新安装它;makedistclean,./configure,make,makeinstall安装所需的2.6.1版本。我需要旧版本,因为那是我们服务器中安装的版本。 最佳答案 问题是您系统上安装的header(在/usr/include/google/p

go - --go_out : protoc-gen-go: The system cannot find the file specified Windows 10

我正在尝试使用此命令protocgreet\greetpb\greet.proto--go_out=plugins=grpc:。我收到了消息"--go_out:protoc-gen-go:Thesystemcannotfindthefilespecified."我的协议(protocol)版本是libprotoc3.6.1我的go版本go版本go1.11.2windows/386我的包列表中还有这个github.com/golang/protobuf/protoc-gen-go/grpc我是golang的新手,我正在尝试学习grpc。有人可以帮我解决这个问题吗?我正在使用Windows

go - 新版本的 protoc-gen-go 删除了已知的类型

有两个.proto文件第一个文件|名称“a.proto”syntax="proto3";packagea;messageAMsg{fixed64smth1=1;fixed64smth2=2;}第二个文件|名称“b.proto”syntax="proto3";packageb;import"a.proto";messageBMsg{a.AMsgmsg1=1;a.AMsgmsg2=2;}以前版本的protoc-gen-go生成了以下代码:文件“a.pb.go”packagebimportproto"github.com/golang/protobuf/proto"importfmt"fmt

go - 有没有办法在 protoc-gen-go 中使 json 的键名小驼峰命名?

使用protoc-gen-go从proto文件生成go代码时,json的key名称会保留为proto文件中指定的key。建议在官方字段名称中使用snakecase。https://developers.google.com/protocol-buffers/docs/style但是,我希望json的键名是snakecase。我在查看protoc-gen-go的生成器代码的时候,肯定是字段名原样设置的。jsonName:=*field.Nametag:=fmt.Sprintf("protobuf:%sjson:%q",g.goTag(message,field,wiretype),jso

go - protoc-gen-go struct xxx 隐蔽到 map[string]interface{}

.proto文件生成的.pb.go文件中的struct多了三个字段和一些其他的东西。像这样:将此struct转为json时,如果有一个字段为空,则该字段不会出现在json中。现在我知道可以使用jsonpb.Marshaler来完成。m:=jsonpb.Marshaler{EmitDefaults:true}现在,我将struct转换为ma​​p[string]interface{},将其放入InfluxDB。我必须将结构转换为map[string]interface{}。函数NewPoint需要。像这样:我在go中使用了structs.Map(value)函数,转换后的map多了三个字