proto文件导出lua文件工具参考
http://download.csdn.net/detail/c471961491/9414388
通过前两篇的介绍已经能搭建一个lua的probuf使用结构了
前两篇博文地址
http://blog.csdn.net/daydayup_chf/article/details/49904785
http://blog.csdn.net/daydayup_chf/article/details/49994023
然而在使用过程中,碰到了以下情况
TestA.proto
package Google;
message TestA
{
required uint32 id = 1;
optional uint32 name = 2;
required string year = 3;
optional uint32 nettype = 4;
}
TestB.proto
package Google;
message TestB
{
required uint32 aa = 1;
optional uint32 bb = 2;
required string cc = 3;
}
import "TestA.proto";
import "TestB.proto";
package Google;
message TestC
{
required TestA testa = 1;
required TestB testb = 2;
}
message TestD
{
required uint32 dddd = 1;
}
message TestE
{
required TestD testd = 1;
}
当使用 message TestC 时出现错误
具体原因是报message_type是个空值
改正这个的处理方法是对导出的lua文件做修改
TestA.lua
-- Generated By protoc-gen-lua Do not Edit
local protobuf = require "protobuf"
module('TestA_pb')
TESTA = protobuf.Descriptor(); --此处去掉local
local TESTA_ID_FIELD = protobuf.FieldDescriptor();
local TESTA_NAME_FIELD = protobuf.F