我一直在试图让汽车制造商自动决定如何建造。pb。抄送和。pb。来自google协议缓冲区的hh文件。原型描述,但没有运气。
我试过在SO上使用这篇文章,但仍然不起作用。
这是我的Makefile的摘录。是:
PROTOC=@ac_protoc_cmd@
%.pb.h %.pb.cc: %.proto
$(PROTOC) --proto_dir=$(srcdir)/proto --cpp_out=$(srcdir) $(srcdir)/proto/$<
libtass_a_SOURCES = \
$(srcdir)/tass.pb.cc
nobase_include_HEADERS = \
$(srcdir)/tass.pb.h
尝试运行make时,我得到:
> Making all in src
> make[1]: Entering directory `/project/tass/src'
> make[1]: *** No rule to make target `tass.pb.cc', needed by `tass.pb.o'. Stop.
> make[1]: Leaving directory `/project/tass/src'
> make: *** [all-recursive] Error 1
ac\u proto\u cmd由configure填充到protoc二进制文件的路径。ac,当它检查GPB依赖关系时。我已经验证了它的格式是“/opt/common/protobuf/-VERSION-/bin/protoc”,这是我保存GPB库的地方。
我正在努力保持我的。proto文件,并让proto将编译好的cc和h文件输出到src中。然而,即使移动我的。将proto文件转换为src/不起作用,所以我认为这不是问题所在。据我所知,make甚至没有尝试调用protoc,因此我不确定make是否正确解释了该规则。
提前感谢您对此的任何帮助。
这里的问题是构建依赖关系,因为automake发现依赖关系是编译的副作用(请参阅http://www.gnu.org/software/automake/manual/html_node/Sources.html对于解决方法的解释),您必须添加此行:
BUILT_SOURCES = $(srcdir)/tass.pb.cc
没有名为--proto_dir
的协议参数。我想你的意思是--proto_path
。
问题内容: 我正在尝试动态解析Java中的给定.proto文件,以解码Protobuf编码的二进制文件。 我有以下解析方法,其中“ proto”字符串包含.proto文件的内容: 但是,执行时,先前的方法将引发消息“协议消息标签的电线类型无效”的异常。我使用了来自Google的示例.proto文件,因此我认为它是有效的:https : //github.com/google/protobuf/bl
(见底部更新) Tilemaker是一个OpenStreetMap程序,用于从OSM pbf数据文件生成Mapbox矢量图块(其本身就是协议缓冲区(pbf)文件)。我已经编译了它,并用它创建了一个矢量平铺目录。我无法用Python解析这些文件。 我使用以下内容创建了矢量平铺: 然后,我以Google的Protocol Buffers python教程为基础,以这种方式创建了一个简单的python程
我正在使用模拟开放框架架构SOFA(语言),我的目标是在一些沙发源本机数据与其他外部应用程序之间设置一些通信类型。按照这个顺序,我使用ZeroMQ将沙发数据传输到python外部应用程序。 在SOFA( 文件,以下字段:,,? 目前,文档中不清楚如何定义与向量和其他数据类型相关的字段,如SOFA原生的(四元数)。 Vec3d和Quat由以下元素组成: 是否可以定义为枚举数? 更新 目前,我的暂定仪
根据示例代码https://developers.google.com/protocol-buffers/docs/cpptutorial,它们展示了如何解析二进制格式的原始文件。使用 我尝试删除文本格式的输入文件的,但在读取文件时仍然失败。我需要做什么才能读取文本格式的原始文件?
我的目标是用扩展名解析协议缓冲区文件。pb。一串在Mac上使用自制软件下载Protobuff。运行protoc--版本,并具有libprotoc 3.1.0版本。 但当我运行Python时,它会说找不到模块。我改变了主意。pb文件名到\u pb2。py并在Python脚本中导入模块。 我正在使用谷歌文档,但仍然没有任何运气。我在编译Protobuf时也遇到了问题。so文件通过Python。我只是无
是否有可能解析传入的google协议缓冲区数据报而不使用任何缓冲区。原始文件?我只是现在使用协议缓冲区对其进行了序列化,但不知道IDL文件。 我在寻找一种通过某种反射来迭代任何值的方法?这可能吗? 非常感谢。