Win32下 Qt与Lua交互使用:配置Qt下Lua运行环境
2020-12-13 15:06
标签:style blog http io ar os 使用 sp 文件 简单来说,Lua动态的特性补充了C++的功能。当然,也看你具体怎么用。 笔者经常使用Qt,故准备将Qt和Lua结合在一起。想象一下在Lua脚本中调用如下代码: 然后弹出一QWidget的窗口,是多么感人的一件事情呀。 好,下面开始配置环境吧。 1. 下载Lua 5.1。目前的最新版本是5.2,但是因为使用到的toLua不支持Lua 5.2,故仍然使用5.1版。 在http://www.lua.org/versions.html#5.1可以找到5.1版的Lua,下载下来,解压待用。 2. 下载toLua。笔者找到的是目前最新的toLua 0.95,下载下来后,解压。 将include/toLua++.h,src/lib中*.c/*.h文件,src/bin/toluabind.c,共8个文件复制到Lua解压目录/src目录下,仅复制文件。 3. 编译。在Lua解压目录下新建文件夹bin,新建一build.bat文件,输入以下代码: 这是一位Lua爱好者为编译Lua 5.2编写的脚步,在这里可以直接使用。 注意建议使用MinGW编译,VS会导致一些问题。没有安装MinGW的可以百度一下,配置好MinGW的环境,并将bin目录加入环境变量path中。 4. 运行编译脚步。建议先打开CMD窗口,在CMD窗口中进入该目录,执行build.bat。这样报错的话可以看到一些信息。 可能会有Warnning,不过还是可以顺利通过编译的。在生成的Lua52文件夹中,就有我们想要的东西。 确保Lua52/lib目录下,生成了liblua52.a文件。 5. 测试使用。使用MinGW编译,建议使用MinGW版的Qt。 在Qt Creator中新建一个工程。删除到只剩下mian.cpp即可。 复制Lua52/include下所有文件,以及之前复制的toLua++.h,到Qt工程目录下。在Qt Creator中加入这些新文件。 复制Lua52/lib/liblua52.a文件到Qt工程目录下。在Qt工程的*.pro文件中加入 LIBS+=../LuaTest/liblua52.a 笔者的工程名为LuaTest,具体的目录名按照你的工程名以及你的build文件夹地址修改。如果提示找不到文件,就该为绝对路径。 在main.cpp文件中,加入 将main函数改为: 顺利运行则配置成功。(在.pro文件中加入CONFIG+=console,在项目-〉运行中勾选Run in terminal,可以打开控制台) 那么如何做到在Lua中新建Qt的窗口呢?下篇博客继续探讨。 如有问题,可以留言。发现错误,欢迎指正。 Win32下 Qt与Lua交互使用:配置Qt下Lua运行环境 标签:style blog http io ar os 使用 sp 文件 原文地址:http://www.cnblogs.com/lvdongjie/p/4070840.htmlw = QWidget:new()
w:show()
@setlocal
@if "%1" == "mingw" goto :build_mgw
@if "%1" == "vs" goto :build_vs
@if "%1" == "dist" goto :install
@if "%1" == "" goto :build_mgw
@echo usage: %1 [mingw|vs|dist]
@goto :EOF
:build_mgw
@set srcdir=..\src@set CFLAGS=-s -O3 -Wall -I. "-DLUA_USER_H=
extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
#include "tolua++.h"
}
lua_State *lu = luaL_newstate();
luaL_openlibs(lu);
//执行内存脚本
string str = "print (\"Hello world!\")";
luaL_loadbuffer(lu, str.c_str(), str.length(), "line");
lua_pcall(lu, 0, 0, 0);
文章标题:Win32下 Qt与Lua交互使用:配置Qt下Lua运行环境
文章链接:http://soscw.com/essay/34797.html