我已經找到了解決辦法,這需要編輯Lua的源文件。
在lualib.h添加
#define LUA_SQLLIBNAME "lsqlite3"
LUAMOD_API int (luaopen_lsqlite3)(lua_State *L);
之前
LUALIB_API void (luaL_openlibs) (lua_State *L);
在linit.h添加此{LUA_SQLLIBNAME, luaopen_lsqlite3 }
到loadedlibs
陣列。你得到
static const luaL_Reg loadedlibs[] = {
{"_G", luaopen_base},
{LUA_LOADLIBNAME, luaopen_package},
{LUA_COLIBNAME, luaopen_coroutine},
{LUA_TABLIBNAME, luaopen_table},
{LUA_IOLIBNAME, luaopen_io},
{LUA_OSLIBNAME, luaopen_os},
{LUA_STRLIBNAME, luaopen_string},
{LUA_BITLIBNAME, luaopen_bit32},
{LUA_MATHLIBNAME, luaopen_math},
{LUA_DBLIBNAME, luaopen_debug},
{LUA_SQLLIBNAME, luaopen_lsqlite3 },
{NULL, NULL}
};
現在,如果你打電話luaL_openlibs,SQLite的支持將是你的代碼在Lua調用local sqlite3 = require("lsqlite3")
最好的,發現後。謝謝。 –