问题标签 [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.
go - 在 gRPC 协议缓冲区 golang 中创建类型为 Map[string]interface{} 的变量
我正在使用 grpc golang 在客户端和服务器应用程序之间进行通信。下面是 protoc 缓冲区的代码。
我需要在消息数据结构中创建一个类型为 map[string]interface{} 的字段 inputVar,而不是 map[string]string。我怎样才能实现它?提前致谢。
ruby - packed=true 不生成 :packed => true Ruby Google 协议缓冲区
我正在开发一个具有 google 协议缓冲区的 ruby 应用程序。
我的原型文件:
当我运行 protoc 时,它确实会生成正确的 ruby 文件,但是对于重复的 int32 命名答案,缺少 :packed => true 。生成的代码:
我目前认为我的协议没有为 ruby 文件生成正确的东西存在问题。但奇怪的是我有 libprotoc 版本 3.1.0(从源代码构建),项目的 gemfile 也有 3.1.0 版本,除了生成:packed => true 之外,一切正常(编码和制作对象)。有人可以帮助我吗?我到处找,但甚至找不到有同样问题的人。顺便说一句,添加 :packet => true 不起作用,因为谷歌不喜欢那样。
编辑:
我找到了解决方案。我使用这个gem来生成我的 ruby 协议文件。我可以编辑这些文件,而不是编辑 google-protobuf gem 生成的文件,而你不能。然后我通过脚本添加了 :packed => true 。不是最好的解决方案,但它是一个解决方案..
windows - 如何在Windows 7的路径中添加protoc.exe
我试过以下:
1.D:\TestWorkSpace\protoc.exe .exe 文件所在的位置。
方法1
方法2
但仍然无法在类路径中添加 protoc.exe。我正在使用一个项目,其中要在开发之前导入 maven 项目,并且先决条件是在类路径中添加 protoc.exe。
请提供您宝贵的建议。谢谢你。
dart - Dart protobuf:我应该下载什么版本的 protoc?
我正在尝试按照本文中的说明进行操作:
https://www.dartlang.org/articles/libraries/serialization#protobuf-example
第一步是安装协议编译器。我的问题是,我下载哪个版本有关系吗?我是否需要使用 javasript 版本,因为 Dart 将编译为 Javascript?请参阅下面的链接到所有 protoc 下载列表,以了解我的意思:
https://github.com/google/protobuf/releases/tag/v3.0.0
任何建议将不胜感激。抱歉,如果这有一个非常明显的答案-我对此很陌生,并且很难在任何地方找到更多信息。
提前致谢。
java - 使用 SBT 构建工具在 Java 中编译 Protobufs 时出现编译错误
我在需要使用 Protobuf 的地方使用带有 Java 的 Play 框架(它使用 SBT 构建工具)。所以我有xxx.proto
文件。我得到了二进制协议编译器并添加到类路径中。所以我看到了——
protoc --version
libprotoc 3.1.0
我已经使用 - 编译了 xxx.proto 文件,
protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/xxx.proto
因此它生成了 xxx.java 文件。
现在当我编译这个 xxx.java 文件时(使用 sbt 构建工具的项目)
我在我安装的库中看到 - com.google.protobuf
jar 在那里。
我的xxx.proto
样子如下——
xxx.java
生成文件时我遗漏了什么吗?我应该如何修复这些编译错误?
protocol-buffers - 如何从 protobuf 描述符中获取方法选项?
我尝试使用 protobuf 编译器解析 .proto 文件。但这是一个令人困惑的问题,我无法获得方法的选项。
似乎我的选项被视为“未知字段”,而不是选项。
有没有办法解决这个问题?谢谢。
(我讨厌在这里粘贴很多代码,但我认为完整描述问题很重要。对此感到抱歉。)
(环境:g++ 4.7,Ubuntu 16.04,Protobuf 3.0.0)
protocol-buffers - protobuf 编译失败,D_GLIBCXX_USE_CXX11_ABI=0
我正在使用 gcc 运行 ubuntu 16.04。
我的q.ccp
文件是
用于编译的命令:
protoc --version
返回:2.2.0
gcc --版本
编译错误:
但是当我离开这个-D_GLIBCXX_USE_CXX11_ABI=0
选项时,我没有得到任何编译错误。但问题是我在不同的系统上运行可执行文件,需要使用此选项编译程序才能运行。
maven - protoc jar maven插件intellij没有创建编译的proto文件
我正在尝试在 intelij 中使用protoc jar maven 插件。我已将此添加到我的 pom.xml 中:
我有一个位于src/main/protobuf
. 我的 pom.xml 中也有这个:
这是原型:
但是,每当我右键单击我的模块并单击构建,或者如果我转到构建菜单并点击构建项目时,我都看不到任何已编译的 protobuf 文件正在生成。我也没有看到任何错误。有谁知道我做错了什么?
java - 如何在 Java 中编写自定义 Protobuf CodeGenerator
我正在尝试为内部专有编程语言编写自定义代码生成器。我想我可以使用 protoc 插件指南用 Java 编写生成器。我的 main() 做这样的事情:
(显然我才刚刚开始;想要在实际编写生成逻辑之前先让一些粗短的东西工作)
问题是:如何使用我的插件调用带有 --plugin 参数的 protoc 以我的自定义语言生成代码?我尝试编写一个 shell 脚本来做到这一点:
我尝试像这样调用 protoc:protoc --plugin=protoc-gen-code --code_out=./build hello.proto
但是,当我运行它时,我收到了这个错误:
线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:CodeGeneratorMain.main 中的 0(CodeGeneratorMain.java:12)--code_out:protoc-gen-code:插件失败,状态码为 1。
好像它根本没有在标准输入上传递 CodeGeneratorRequest。我将如何验证?我在做一些明显错误的事情吗?
python - 如何为预构建的二进制文件正确安装协议编译器?
我尝试多次安装“protoc-3.2.0-windows-x86_64.exe”,但没有安装。当我双击它时,不会显示任何屏幕。我尝试通过命令行界面打开它。我收到一条消息“缺少输入文件”。 命令提示符上的 Protoc 安装错误
那个丢失的输入文件是什么?我现在该怎么办?请第一时间回复我的问题!