4

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

generator-bin/protoc --nanopb_out=. message.proto -s message.options

并得到这个错误:

Unknown flag: -s

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

4

1 回答 1

3

谷歌protoc有一种特殊的语法用于将选项传递给插件。插件选项作为参数放置nanopb_out在实际目标路径中,并用冒号 ( :) 分隔。

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

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

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

generator-bin/nanopb_generator --help
于 2017-08-24T10:47:21.033 回答