我有一些原型定义,我想编译成C ++头文件/代码。当我这样做时,所有数据类型都是MessageLite
,据我所知,资源约束设备的重量更轻。
然而,MessageLite
缺少我需要的一堆函数(例如:MessageToJsonString
和SerializeToOsStream
)。 protoc
是否有办法生成Message
而不是MessageLite
?
或者,是否有更好的方法可以使用MessageLite
?即,调试和序列化为文件?
答案 0 :(得分:2)
在protobuf定义中查找以下行:
option optimize_for = LITE_RUNTIME;
并将其评论或删除。该行指示protoc使用MessageLite,而不是Message。