问题标签 [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.
compiler-errors - libprotoc 编译 protoc 文件,但不编译其中包含的其他 protoc(google grpc assistant annotations.pb.h no file or directory error)
我正在尝试用 C++ 生成 Google Assistant 库。我已经使用 protoc 编译器编译了embedded_assistant.proto文件,并获得了用于库的embedded_assistant.grpc.pb.h和embedded_assistant.grpc.pb.cc文件。我创建了一个客户端文件ea_main.cc并将这些文件包含在其中。
当我尝试使用 g++ 编译器编译ea_main.cc时,出现此错误。
在embedded_assistant.proto文件中有另一个 proto 文件包含在其中
似乎 protoc 没有为这些 .proto 文件编译或生成标头。当在google/api/中查看时,它们不存在。
这就是为什么 g++ 编译器会为缺少的 annotations.pb.h 文件提供错误。
为什么 protoc 没有编译包含在embedded_assistant.proto中的 proto ?我怎样才能得到这些文件?有什么问题吗?
python - scons:如何指定对外部构建目标的依赖?
我protobuf
用来从 . proto文件转换为 .cc/.h 文件。所以我有我SConscript
的如下:
我发现,“环境”。SConscript 中的命令不是按顺序执行的(这就是为什么可以使用 scons -j20 并行构建目标的原因)。但有时问题是,因为“pb_my”的目标应该是在我从“my.proto”生成“my.pb.cc”之后构建的,所以scons会报告错误是先执行第二行。
那么如何指定第二行的目标只应在第一行完成后执行?
非常感谢。
c++ - 协议缓冲区错误版本
我正在尝试安装 Caffe 库,但由于系统中安装了错误的 protobuf 版本,我遇到了编译问题。
我遵循了论坛中提出的许多方法,我认为这篇文章中讨论了最相似的问题。
在 caffe.pb.h 中,控件是:
但是在我的系统头文件(/usr/include/google/protobuf/stubs/common.h)中:
从终端命令 protoc --version 返回 libprotoc 3.2.0。
所以我已经安装了 3.2 版本,但是系统头文件没有更新。上一篇文章中的一位用户评论说:“我想出了一种方法,首先在 PATH 变量中指定我想要的 protobuf,而不必删除其他版本的 protobuf(其他事情取决于那个旧版本)。”
有人可以逐步解释我如何遵循这个吗?或者我可以更新系统标题吗?有许多元素连接到 libprotoc,所以我想避免损坏它们。
谢谢
cmake - PROTOBUF_GENERATE_CPP 二进制路径
PROTOBUF_GENERATE_CPP 如何知道从哪里获取 protoc 二进制文件?
我已经在本地编译了 protobuf,并且想将我的 CMakeLists.txt 指向已安装的二进制文件( myfolder/protobuf-install/bin/protoc )而不是系统二进制文件( /usr/bin/protoc )
通常对于 Boost,我只需将 BOOST_ROOT 设置为我安装的文件夹,它就会找到所有的 include_directories、库等。
Protobuf应该怎么做。我在 FindProtobuf.cmake 中没有看到任何前缀选项。
错误是
当然,上面的路径是在 myfolder/ 中,而不是在系统文件夹中。但是,当我将根路径明确声明为 myfolder/ 时,为什么 protobuf 会在系统路径中寻找包含
android - 如何使用 android studio protobuf 插件编译 protobuf 消息实现 Parcelable?
有 cmdline 选项可以生成消息实现 parcelable,如下所示:
protoc --javanano_out=optional_field_style=accessors,parcelable_messages=true:d:\ ./message.proto
如何使用 android studio protobuf 插件来做到这一点?
protocol-buffers - 如何包含具有相互依赖关系的 .proto 文件
我有两个 .proto 文件,它们有两个相互依赖的包。
a.proto
b.proto
当我尝试生成 cpp 文件时,出现以下错误
# protoc -I. --cpp_out=. b.proto
b.proto: File recursively imports itself: b.proto -> a.proto -> b.proto
如何实现?
注意:使用的协议版本是libprotoc 3.3.0
http - gRPC 服务器错误处理程序 golang
我想了解 golang 和 gRPC 以及 protobuf 的良好实践。
我正在实现以下 gRPC 服务
我编译了protobufs。事实上,protobuf 给了我们一个从 http 到 grpc 的 httpproxy。
实现此服务的代码:
我想要一个带有消息“400 的默认错误消息”的 400 http 错误(在 http 代理中),该消息有效,但 http 错误始终为 500。
您知道有关此的任何帖子或文档吗?
swift - 生成 .pb.swift 模型时,包含单词“Id”的 Protobuf 字段名称将其大写为“ID”
我正在尝试使用 swift-protobuf:
我有Test.proto
文件,我需要将其转换为Test.pb.swift
:
为此,我正在使用:
它生成很长的 .pb.swift 文件:
那么,为什么TestId
转换为testID
,例如为什么Id
大写为ID
?如何修复或避免这种大写行为?
python - TensorFlow - 对象检测模块,尝试使用 protoc 时出现错误
遇到问题protoc
,该行在 Windows 中不起作用。
我明白了errors
:
使用这条线
我收到这个错误
问题是什么??
bash - 在 proto 文件的嵌套目录上运行 protobuf 编译器的问题
我有几个嵌套目录,每个都包含 proto 文件,并且许多 proto 文件依赖于位于根目录中某处的其他 proto。我正在使用这个脚本来尝试编译它们,并从一个目录中执行它,该目录包含带有 protos 的文件夹和我希望编译的 proto 类所在的文件夹。我现在遇到的问题之一是我遇到了protoc: command not found
错误。
关于如何最好地做到这一点的任何想法?