如何使用 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
我写了一个 .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