我已经下载了 LUA 5.1 和 lsqlite3 源代码,并轻松准备了一个 Visual C++ express 项目,该项目可以正常编译和运行,并添加了 SQLite3 和 lsqlite3(只有几个 .c 和 .h 文件)。
我使用 lua.c 作为其“主要”功能的入口点,并且我已从 Visual Studio 项目 luac.c 文件中删除。当我启动 .exe 时,它会向我显示一个解析基本 lua 命令(例如print("hello world")
)的命令行,这很好用。启动标准 Lua (5.1) 示例之一也可以正常工作(例如键入dofile("bisec.lua")
),但如果我尝试来自 lsqlite3 的一个 .lua 文件,则会出现以下错误:
statement.lua:1: module 'lsqlite3' not found:
no field package.preload['lsqlite3']
no file '.\lsqlite3.lua'
no file 'C:\Projects\lua-5.1.5_lsqlite3_integration\lua_5.1_lsqlite3_int
egration\Debug\lua\lsqlite3.lua'
no file 'C:\Projects\lua-5.1.5_lsqlite3_integration\lua_5.1_lsqlite3_int
egration\Debug\lua\lsqlite3\init.lua'
no file 'C:\Projects\lua-5.1.5_lsqlite3_integration\lua_5.1_lsqlite3_int
egration\Debug\lsqlite3.lua'
no file 'C:\Projects\lua-5.1.5_lsqlite3_integration\lua_5.1_lsqlite3_int
egration\Debug\lsqlite3\init.lua'
no file 'C:\Program Files (x86)\Lua\5.1\lua\lsqlite3.luac'
no file '.\lsqlite3.dll'
no file 'C:\Projects\lua-5.1.5_lsqlite3_integration\lua_5.1_lsqlite3_int
egration\Debug\lsqlite3.dll'
no file 'C:\Projects\lua-5.1.5_lsqlite3_integration\lua_5.1_lsqlite3_int
egration\Debug\loadall.dll'
stack traceback:
[C]: in function 'require'
statement.lua:1: in main chunk
[C]: in function 'dofile'
stdin:1: in main chunk
[C]: ?
如何注册 lsqlite3 包?我发现了一个我怀疑与此有关的文件:“lsqlite3-0.8-1.rockspec”,但如果它对我的目的有用,也不知道如何使用它。