Qt学习笔记:Qt中使用Lua

时间:2023-03-17 09:35:44

今天想在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也不用

大概就成这样了

Qt学习笔记:Qt中使用Lua

接下来选择编译方式为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);
 }

上面的方法经过本人验证是可行的

本人对于库的使用经验不是很多,有错误请指出