今天想在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);
 }

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

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

Qt学习笔记:Qt中使用Lua的更多相关文章

  1. qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果

    应大家的要求,还是把完整的project文件贴出来,大家省点事:http://www.kuaipan.cn/file/id_48923272389086450.htm 先看看执行效果,我用的群创7寸屏 ...

  2. Qt学习笔记-Widget布局管理

    Qt学习笔记4-Widget布局管理       以<C++ GUI Programming with Qt 4, Second Edition>为参考 实例:查找对话框 包含三个文件,f ...

  3. QT学习笔记(一)——Helloworld

    QT学习笔记(一)--Helloworld 一.调试的基本方法: Log调试法 --在代码中加入一定的打印语句 --打印程序状态和关键变量的值 断点调试法: --在开发环境中的对应代码行加上断点 -- ...

  4. ArcGIS案例学习笔记-点集中最近点对和最远点对

    ArcGIS案例学习笔记-点集中最近点对和最远点对 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 目的:对于点图层,查找最近的点对和最远的点对 数据: 方法: 1. ...

  5. 《Cocos2d-x游戏开发实战精解》学习笔记3--在Cocos2d-x中播放声音

    <Cocos2d-x游戏开发实战精解>学习笔记1--在Cocos2d中显示图像 <Cocos2d-x游戏开发实战精解>学习笔记2--在Cocos2d-x中显示一行文字 之前的内 ...

  6. QT学习笔记1

    不准备用MFC了,想切换到QT.所以跟着网上的一个笔记学习. 1 开发环境是VS2008+QT4.7+VassistX 具体如何配置看这个帖子:http://qimo601.iteye.com/blo ...

  7. QT学习笔记(一)——ui的认识

    ////////////2015/08/06/////////////////// ///////////by xbw////////////////////////// //////////环境 Q ...

  8. Qt学习笔记(2)-利用StackWidget实现选项卡式页面

    学习笔记第二篇,利用Qt实现选项卡式的页面,效果如图1.1-图1.3所示.程序实现的功能是通过点击状态栏实现不同页面的切换,实际上Qt中自带有Tab选项卡式的控件,本文利用StackWidge实现类似 ...

  9. Qt学习笔记 ListWidget的增删改

    学习了一下ListWidget控件的使用,做一个小功能增删改 先把代码分解最后给出完整代码 在窗体上添加一个ListWidget 一个Horizontal Specer和  三个PushButton ...

随机推荐

  1. GridView多列排序

    public class WebGridView:GridView { 属性#region 属性 /**//// <summary> /// 是否启用或者禁止多列排序 /// </s ...

  2. JSP(forward动作)登录功能

    <%@ page language= "java" contentType="text/html;charset=UTF-8" %><html ...

  3. poj 2239 Selecting Courses (二分匹配)

    Selecting Courses Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8316   Accepted: 3687 ...

  4. 双等位基因(biallelic sites )和多等位基因(multiallelic sites)

    双等位基因(biallelic sites ):表示在基因组的某个位点上有两个等位基因,如下图第七个位点所示,有G/-两种形式: 多等位基因(multiallelic sites):表示在基因组的某个 ...

  5. mac下sublime text3安装SFTP及使用

    mac下sublime text3安装SFTP 1.shift+command+p进入控制面板 2.输入install进入程序安装界面选择需要安装的插件(SFTP) 3.直接进行安装(需要联网) 4. ...

  6. 返回绝对值--Math.Abs 方法

    Math.abs()  返回指定数字的绝对值.

  7. 使用 IntraWeb (41) - 数据控件速查

    TIWDBCheckBox 所在单元及继承链: IWDBStdCtrls.TIWDBCheckBox 主要成员: property AutoEditable: Boolean //根据 DataSou ...

  8. iOS改变NavigationBar的返回键和标题颜色、大小

    UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom]; [UIPubic initHeadViewBackImgWithBt ...

  9. [linux] 线程和wait命令,sleep命令

    在linux脚本编程中使用多线程编程,其中wait命令可以实现shell的多线程同步控制. 1. 启动后台子任务 在执行命令后加&操作符,表示将命令放在子shell中异步执行.可以达到多线程效 ...

  10. HTTP请求响应对照表

    1)请求(客户端->服务端[request]) GET(请求的方式) /books/java.html(请求的目标资源) HTTP/1.1(请求采用的协议和版本号) Accept: */*(客户 ...