问题标签 [protoc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6174 浏览

plugins - 如何创建一个 protobuf go plugin 插件

https://github.com/golang/protobuf

protoc-gen-go是 protoc 中的一个插件,它为输入 proto 定义生成 go 绑定。

protoc-gen-go还有一个插件框架,它grpc是一个插件插件 https://github.com/golang/protobuf/tree/master/protoc-gen-go/grpc

$ protoc ./helloworld.proto --go_out=plugins=grpc:.

是否有可能我编写自己的插件并与 grpc 插件一起调用它?

$ protoc ./helloworld.proto --go_out=plugins=grpc+myplugin:.

我是否需要强制将我的插件构建到 protoc-gen-go 中?如果没有,那么 protoc-gen-go 将如何找到 myplugin ?

0 投票
1 回答
1326 浏览

protocol-buffers - Protobuf:如何在控制台上使用 --encode 命令

当我使用编译器的--encode命令时,protoc我可以通过标准输入 ( key:value) 输入我的输入,但它仍处于输入模式。我从来没有得到任何结果。我如何得到它?

0 投票
1 回答
8109 浏览

protocol-buffers - 无法识别的语法标识符“proto3”。此解析器仅识别 Linkerd 上的“proto2”

我在我的 linux ubuntu 上克隆了 linkerd ( https://github.com/linkerd ) repo,并安装了 protoc 版本 2.5。当我尝试使用以下命令编译链接器时,我收到错误“无法识别的语法标识符“proto3”。此解析器仅识别“proto2”。

命令:./sbt linkerd/compile

0 投票
1 回答
217 浏览

python - AttributeError:使用自定义 python 插件编译 protobuf 时缺少六个“indexbytes”

使用自定义 python 插件编译 protobuf 文件时遇到问题。在一台机器上,它按预期运行,而在另一台机器上,这会导致以下错误:

两台机器都有相同的 Python 版本:2.7.12。

我还确保它们具有相同的 Protobuf 模块版本 (3.2.0) 和六个模块版本 (1.10.0)。

所以我不明白为什么“六”模块会错过上面调用堆栈中提到的“decoder.py”中所需的“indexbytes”方法。

0 投票
1 回答
1492 浏览

c++ - grpc 编译错误 protobuf 3.2.0(文件是使用旧版本的 protoc 生成的)Ubuntu 16.04

我尝试在 Ubuntu 16.04.02 虚拟机中为 cpp 编译 grpc。由于 grpc 提供的 protobuf 版本无法编译(解压缩说其中一个 zip 文件已损坏),我自己从源代码编译了 protobuf 3.2.0(这应该是我理解的正确版本),效果很好。

当我现在运行 make 来编译 grpc 时,我得到一个冗长的错误,这与某些文件是使用较旧的 protoc 版本生成的事实有关。(我在底部添加了完整的错误消息)。所以我的问题是:3.2 是错误的 protobuf 版本还是不同的问题?我还尝试根据需要帮助在 ubuntu 16.04 上安装 c++ grpc 从grpc 的第三方目录中删除 protobuf 目录,但它没有改变任何内容。

提前致谢!

错误信息:

0 投票
1 回答
890 浏览

protocol-buffers - Google 协议缓冲区 - protoc-c 和 protoc 之间的二进制兼容性

我有以 proto2 格式编写并由 protoc-c 编译器编译的 C 代码。我想知道的是该代码是否与“protoc”编译器生成的序列化/反序列化代码二进制兼容(这也恰好理解 protobuf 的第 3 版)?由于某种原因,我无法得到这个问题的明确答案。我想知道的原因是因为版本 3 和版本 2 之间已经存在向后兼容性问题,所以我对 protoc-c 和 protoc 工具包以及它们如何处理版本有点不确定。

谢谢!

0 投票
1 回答
40 浏览

c - 协议消息反序列化不当

我正在尝试C 语言中的协议缓冲区序列化和反序列化。我创建了如下所示的 learn.proto 消息,并尝试将消息打包到 *uint8_t 中并解压缩。

解包后,无论我将什么打包到原始消息中,都会获得始终为零的枚举值。但是反序列化后文本字段值仍然正确。例如,我正在打包枚举LEARN__LEARNMESSAGE__LEARN_TYPE__THREE ,但解包后,它变为LEARN__LEARNMESSAGE__LEARN_TYPE__ZERO

我编译它gcc -o program mycode.c learn.pb-c.c -lprotobuf-c

有人可以帮我找出我正在做的错误:

0 投票
2 回答
1297 浏览

protocol-buffers - 如何使用 protoc 解码 protobuf 文件

我对 protoc 的使用感到非常困惑,并且在互联网上找不到有关其使用的示例:-

那么这里的 message_type 是什么,有人可以写一个完整的正确示例吗

0 投票
4 回答
25249 浏览

google-cloud-platform - 如何导入 gRPC empty 和 Google api annotations proto

我正在尝试使用 Google Cloud Endpoints 制作基于 gRPC 的 API,可以对传入的 REST 请求进行转码。我正在关注他们的示例代码,但我没有任何关于如何使用 annotation.proto 或 empty.proto 正确导入和编译的文档。

谢谢!

0 投票
1 回答
1827 浏览

java - 使用 protoc v3 生成 grpc Java 存根时出现问题

我在 Ubuntu 14.4 上使用 Protoc 3.0 版并发出命令

此处描述的 python 的相同问题

我收到此错误:

但是,如果我跳过存根部分并发出命令

它工作得很好。想知道我错过了什么。