C 如何编译.proto+。使用nanopb的选项文件

C 如何编译.proto+。使用nanopb的选项文件,c,protocol-buffers,nanopb,C,Protocol Buffers,Nanopb,我编写了一个.options文件,并将其放置在与.proto文件相同的目录中。 然后,我尝试使用命令编译它(使用nanopb编译器) generator-bin/protoc --nanopb_out=. message.proto -s message.options 得到了这个错误: Unknown flag: -s 那么我做错了什么? 是否需要在.proto文件中导入选项文件? 我还需要做些什么才能让它正常工作呢?谷歌的protoc有一种特殊的语法,可以将选项传递给插件。插件选项作为参

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

generator-bin/protoc --nanopb_out=. message.proto -s message.options
得到了这个错误:

Unknown flag: -s
那么我做错了什么? 是否需要在.proto文件中导入选项文件?
我还需要做些什么才能让它正常工作呢?

谷歌的
protoc
有一种特殊的语法,可以将选项传递给插件。插件选项作为参数放入
nanopb\u out
,并用冒号(
)与实际目标路径分开

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

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

还要注意,nanopb的
-s
标志需要在命令行上进行一对设置,而
-f
则需要一个文件名。无论是否加载了选项文件,指定
-v
也有助于获取详细消息。通过运行以下命令,可以获得命令行选项的完整列表:

generator-bin/nanopb_generator --help

检查一下,我想这可能对你有帮助。对我来说,这不起作用。很明显,插件只接受一个参数。如果我尝试
生成器bin/protoc--nanopb\u out=-T-v:。message.proto
我收到一个错误
未知标志:-v
。你的单引号技巧也没用。插件本身确实接受多个参数,但很难让它们通过
protoc
。在外壳上使用时,引用整个零件应有效。如果没有任何帮助,您可以分两步完成:
protoc-o message.pb message.proto
python nanopb\u generator.py-T-v message.pb
。谢谢!那有帮助!