如何使用 nanopb 编译 .proto + .options 文件

how to compile .proto + .options file using nanopb

我写了一个 .options 文件并将其放在与 .proto 文件相同的目录中。 然后,我尝试使用命令

编译它(使用 nanopb 编译器)
generator-bin/protoc --nanopb_out=. message.proto -s message.options

并收到此错误:

Unknown flag: -s

所以我做错了什么? 我需要在 .proto 文件中导入我的选项文件吗? 我还应该做些什么来让它发挥作用吗?

Google 的 protoc 有一个特殊的语法用于将选项传递给插件。插件选项作为 nanopb_out 的参数,并用冒号 (:).

与实际目标路径分隔

generator-bin/protoc '--nanopb_out=-v -f message.options:.' message.proto

但是,如果您的 .options 文件与 .proto 文件同名并且位于同一目录中,nanopb 插件应该会自动找到并使用它。

另请注意,nanopb 的 -s 标志需要命令行上的一对设置,而 -f 需要一个文件名。指定 -v 对于获取是否加载选项文件的详细消息也很有用。您可以通过 运行:

获取完整的命令行选项列表
generator-bin/nanopb_generator --help