2012-12-06 24 views
2

我在代碼中有三種不同格式的消息,我製作了所有三個.proto文件並進行了編譯。我已經有了另外一個,說普通的,有很多枚舉的類,我需要在這三個類中使用這個枚舉。有沒有辦法使用外部常規類的枚舉,而不是在所有三個文件中的proto中定義相同的枚舉?使用外部類的枚舉來避免在.proto中定義?

回答

0

我不太清楚你的意思是外部常規類 ...?

如果你想在C++中定義枚舉,然後把它放在一個Protobuf中,只需要在proto中放一個int字段。

但是如果你想通過多個PROTOS使用的通用枚舉,你可以使用進口:

common.proto:

package foo_common; 

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

tree.proto:

package foo_tree; 

import "common.proto"; 

message Node { 
    optional foo_common.Color color = 1; 
};