【发布时间】:2012-12-03 19:07:35
【问题描述】:
这更像是在寻找一种合理的方法,而不是一个问题。我正在使用gpb 从*.proto 文件(Google 协议缓冲区)中生成 Erlang 绑定。我的 OTP 应用程序的结构是默认的:
/ebin
/include
/priv
/src
给定一个*.proto 文件,假设person.proto,gpb 生成person.erl,包括解码和编码消息的方法,以及保存记录定义的person.hrl,因为协议缓冲区在Erlang 中作为记录实现。这些生成的文件放置的位置可以传递给编译,但我不知道放在哪里。有一个debate 是否将生成的源代码置于版本控制之下,但我想省略它。因此,将 proto 文件存储在 src/ 中是不适用的,因为它们每次都会出现在版本控制中。 那么把它们放在哪里呢?
【问题讨论】:
-
您好,请问您如何使用gpb?我不知道如何让它编译 .proto 文件。
-
试试
gpb_compile:file("your.proto", Options),Options可能是[strings_as_binaries, use_packages, include_as_lib]。您可能还想尝试我为 gpb 编写的扩展,它位于它之上以便更方便的绑定:github.com/squidfunk/gpb-bindings