一、下载Lua的dll和源码
下载链接:Lua的依赖库dll、解释器lua.exe、编译器luac.exe
下载链接:Lua的源码
二、添加环境变量
将下载的第一个文件解压并放到自己想放的位置,然后在环境变量的path中添加lua.exe所在的文件夹路径,这样在cmd中就可以打开lua解释器,在cmd中输入lua测试,如果输出了lua的版本,则说明环境配置成功了。
2.1、交互式命令测试
2.2、脚本命令测试
创建一个脚本:test.lua
在cmd中执行Lua脚本:
三、傻瓜式安装
首先下载安装包,Github安装包下载地址
下载完成之后直接安装就行了,环境变量会自动配置:
安装完成之后,可在cmd中打开Lua解释器,也可以在安装路径双击lua.exe
打开Lua解释器:
此外,安装路径下还带有一个IDE:SciTE
四、Qt开发环境搭建
4.1、编译Lua
①、QT --> 文件 --> 新建文件或项目 --> Library --> c++库
②、选择静态链接库:
③、将Lua源码复制到刚刚创建的库工程下:
④、右击工程名 --> 添加现有文件 --> src中的文件(除了lua.c和luac.c)
⑤、选择Release,开始构建,构建结束会生成一个xxx.a
文件
4.2、搭建Lua工程
①、新建一个Qt工程
②、将编译生成的xxx.a
和Lua源码(src文件夹)复制到新建工程路径下
③、在工程文件.pro
中导入路径
④、将lua54.dll
复制到工程的debug路径下
⑤、创建Lua脚本
⑥、调用Lua脚本
main.cpp
#include "mainwindow.h"
#include <QApplication>
#include <QDebug>
#include <QCoreApplication>
extern "C"
{
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
}
lua_State *L; //脚本上下文
int lua_add(int x, int y)
{
int sum;
lua_getglobal(L,"add"); //获取函数名
lua_pushnumber(L,x); //传入第一个参数
lua_pushnumber(L,y); //传入第二个参数
lua_call(L,2,1); //调用函数,两个参数,一个返回值
sum = (int)lua_tonumber(L,-1); //获取结果
lua_pop(L,1); //清空返回值
return sum;
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
L = luaL_newstate(); //新建Lua解释器
luaL_openlibs(L); //载入Lua基础库
//QString转char*
QString str = QCoreApplication::applicationDirPath()+"/Add.lua";
QByteArray ba = str.toLatin1();
char* file_path=ba.data();
//执行脚本
luaL_dofile(L,file_path); //Add.lua文件的路径
int sum = lua_add(10,15);
qDebug()<<"sum = "<<sum;
lua_close(L); //清空Lua
return a.exec();
}
运行结果: