今天想在Qt中使用Lua进行数据操作
结果发现在Qt中使用Lua的文章较少,虽然很简单,但是还是写出来提供入门,顺便记录一下
我使用的是Qt Creator 3.4.2,用的是mingw4.9.2的编译器
我在Lua官网下载lua版本是5.3.1
首先,在要Qt中进行编译Lua,拿到.a和dll这两个文件
在Qt Creator->文件->新建文件或项目->Library->C++库,接下来根据情况一路下一步完成创建
然后,右键自己的项目,选择添加现有文件,添加下载好的Lua文件中的src文件,除了lua.c和luac.c这两个文件,其余都导入,当然那个Makefile也不用
大概就成这样了
接下来选择编译方式为Release,然后点击构建
好了,我这边编译的目录是build-lua-Desktop_Qt_5_5_0_MinGW_32bit-Release
在里面release文件夹中找到liblua.a和lua.dll,我这边直接构建后就出现这两了
最后把这两复制到下载好的lua文件夹中,就可以使用了
使用方法:
先在自己的pro文件中导入
INCLUDEPATH += E:\Lua\src LIBS += E:\Lua\liblua.a
然后再把dll复制到自己项目中的debug或者release目录下(比如build-lua-Desktop_Qt_5_5_0_MinGW_32bit-Release)
在某个cpp中实验一下,下面只是举例
#include "kv_read_write.h" #include "QDebug" extern "C" { #include "lua.h" #include "lauxlib.h" #include "lualib.h" } KeyValue::KeyValue() { lua_State* L = luaL_newstate(); lua_pushstring(L,"); qDebug(lua_tostring(L,)); lua_close(L); }
上面的方法经过本人验证是可行的
本人对于库的使用经验不是很多,有错误请指出