protobuf c ++生成Message而不是MessageLite

时间:2017-08-08 22:37:18

标签: c++ protocol-buffers

我有一些原型定义,我想编译成C ++头文件/代码。当我这样做时,所有数据类型都是MessageLite,据我所知,资源约束设备的重量更轻。

然而,MessageLite缺少我需要的一堆函数(例如:MessageToJsonStringSerializeToOsStream)。 protoc是否有办法生成Message而不是MessageLite

或者,是否有更好的方法可以使用MessageLite?即,调试和序列化为文件?

1 个答案:

答案 0 :(得分:2)

在protobuf定义中查找以下行:

option optimize_for = LITE_RUNTIME;

并将其评论或删除。该行指示protoc使用MessageLite,而不是Message。