4

我在代码中有三种不同格式的消息,我制作了所有三个 .proto 文件并进行了编译。我已经有另一个,比如说有很多枚举的常规类,我需要在所有三个类中使用这些枚举。有什么方法可以使用外部常规类中的枚举,而不是在所有三个文件中的 proto 中定义相同的枚举?

4

1 回答 1

2

我不太清楚你所说的外部常规课程是什么意思......?

如果你想在 C++ 中定义枚举,然后把它放在一个 Protobuf 中,只需在 proto 中放一个 int 字段即可。

但是如果你想要一个由多个原型使用的公共枚举,你可以使用导入:

common.proto:

package foo_common;

enum Color {
    red = 1;
    black = 2;
}

树.proto:

package foo_tree;

import "common.proto";

message Node {
     optional foo_common.Color color = 1;
};    
于 2013-04-19T05:26:32.700 回答