Protocol buffers 将proto文件组织到googleprotobuf中的文件夹中

Protocol buffers 将proto文件组织到googleprotobuf中的文件夹中,protocol-buffers,Protocol Buffers,目前,我们有100多个原型文件来定义消息,它们被放在同一个“原型”文件夹中。现在它们看起来有点乱,所以我想将原始文件组织到文件夹中,如下所示: 组织前: prototypes/ProtoCmd1.proto prototypes/ProtoCmd2.proto prototypes/ProtoCmd3.proto prototypes/ProtoMsg1.proto prototypes/ProtoMsg2.proto prototypes/ProtoMsg3.proto prototypes

目前,我们有100多个原型文件来定义消息,它们被放在同一个“原型”文件夹中。现在它们看起来有点乱,所以我想将原始文件组织到文件夹中,如下所示:

组织前:

prototypes/ProtoCmd1.proto
prototypes/ProtoCmd2.proto
prototypes/ProtoCmd3.proto
prototypes/ProtoMsg1.proto
prototypes/ProtoMsg2.proto
prototypes/ProtoMsg3.proto
prototypes/Cmd/ProtoCmd1.proto
prototypes/Cmd/ProtoCmd2.proto
prototypes/Cmd/ProtoCmd3.proto
prototypes/Msg/ProtoMsg1.proto
prototypes/Msg/ProtoMsg2.proto
prototypes/Msg/ProtoMsg3.proto
组织后:

prototypes/ProtoCmd1.proto
prototypes/ProtoCmd2.proto
prototypes/ProtoCmd3.proto
prototypes/ProtoMsg1.proto
prototypes/ProtoMsg2.proto
prototypes/ProtoMsg3.proto
prototypes/Cmd/ProtoCmd1.proto
prototypes/Cmd/ProtoCmd2.proto
prototypes/Cmd/ProtoCmd3.proto
prototypes/Msg/ProtoMsg1.proto
prototypes/Msg/ProtoMsg2.proto
prototypes/Msg/ProtoMsg3.proto

问题是在组织之后,cmd proto不再看到msg proto,因此无法导入msg proto。有没有办法克服这个问题?就我而言,谷歌没有结果,但也许我忽略了什么?感谢您的帮助。谢谢大家。

您如何引用其他协议<代码>导入“Msg/ProtoMsg1.proto”?@zapl否,我仍然以“ProtoMsg1.proto”的形式导入,请参见-您需要在导入语句中添加这样的路径,如果您没有从正确的目录(在本例中是从“prototype”)调用protoc,请将proto路径指定为公共父目录。@zapl非常感谢您!这正是我要找的。我不明白谷歌为什么不把它包括在Protobuf教程中。你能回答这个问题让我接受你的回答吗?