我有一些原型(prototype)定义,我想编译为C++ header /代码。当我这样做时,所有数据类型都是MessageLite
,我知道对于资源约束设备而言,它的重量更轻。
但是,MessageLite
缺少我需要的一堆函数(例如:MessageToJsonString
和SerializeToOsStream
)。有一种方法让protoc
生成Message
而不是MessageLite
吗?
或者,是否有更好的方式使用MessageLite
?即,调试并序列化到文件?
最佳答案
在protobuf定义中查找以下行:option optimize_for = LITE_RUNTIME;
然后将其注释掉,或将其删除。该行指示协议(protocol)使用MessageLite,而不是Message。
关于c++ - protobuf c++生成Message而不是MessageLite,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45579049/