问题找到了不知道怎么解决
你把你调用 luaopen_pb(L)地方的代码贴出来一下。
void luaopen_lua_extensions(lua_State L)
{
// load extensions
luaL_Reg lib = luax_exts;
lua_getglobal(L, “package”);
lua_getfield(L, -1, “preload”);
for (; lib->func; lib++)
{
lua_pushcfunction(L, lib->func);
lua_setfield(L, -2, lib->name);
}
lua_pop(L, 2);
// load extensions script
luaopen_socket_scripts(L);
luaopen_pb(L); //这是加入的protobuf 扩展注册名
}
请在你加入的luaopen_pb(L); //这是加入的protobuf 扩展注册名
这一行后面加上 lua_pop(L, 2); 这句。
在luaopen_socket_scripts上面一行已经有了
你再加一行 。
void luaopen_lua_extensions(lua_State L)
{
// load extensions
luaL_Reg lib = luax_exts;
lua_getglobal(L, “package”);
lua_getfield(L, -1, “preload”);
for (; lib->func; lib++)
{
lua_pushcfunction(L, lib->func);
lua_setfield(L, -2, lib->name);
}
lua_pop(L, 2);
// load extensions script
luaopen_socket_scripts(L);
luaopen_pb(L); //这是加入的protobuf 扩展注册名
lua_pop(L, 2);
}
想问下你是在那个版本下做的集成pb
换云风的pb吧。