文档章节

QtCreator Lua环境配置

S
 ShuyangZ
发布于 2017/07/29 20:38
字数 339
阅读 17
收藏 0

QtCreator Lua环境配置

环境

macosx 10.11 + qt 5.5 + lua 5.3

生成lua静态库

下载lua源码,进行编译,生成库文件。
makefile文件所在目录下使用make+具体平台指令:

make macosx

默认会在源码目录下生成liblua.a静态库文件。

.pro文件配置

qtcreator中在.pro文件中右键添加库,把刚刚生成的lua静态库加入进去(或者也可以手工写)。

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.c
HEADERS  += lauxlib.h \
    lua.h \
    lualib.h \
    luaconf.h

LIBS += -llua
LIBS += -ldl

 

此外还需要HEADERS项内添加lua的一些头文件。

HEADERS  += lauxlib.h \
    lua.h \
    lualib.h \
    luaconf.h

这4个文件是必须的,要从lua官方下的源码中复制到qt项目目录下,少了哪几个,在编译过程中都会报错并会告知链接需要哪些头文件。

warning

warning: object file (/Users/htea/Workspace/GroundQt/luaProcessor/lib//liblua.a(llex.o)) was built for newer OSX version (10.11) than being linked (10.7)

说明编译的库版本比链接版本新,但还是兼容的。

测试

使用时在头部引入要用到的lua头文件。

extern "C"{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}

测试代码

lua_State *lu = luaL_newstate();
luaL_openlibs(lu);
//执行内存脚本
std::string str = "print (\"Hello world!!!!\")";
luaL_loadbuffer(lu, str.c_str(), str.length(), "line");
lua_pcall(lu, 0, 0, 0);

测试结果
在qt的console中能看到 Hello world!!!! 的输出结果就说明配置成功了。

本文转载自:http://www.jianshu.com/p/be3a0a618e65

S
粉丝 3
博文 26
码字总数 2841
作品 0
苏州
私信 提问
centos 启动qt5.4.0 有警告

centos 32 位已经安装和配置好qt5.4.0,启动qtcreator时,弹出警告和错误 (:3461): Gtk-WARNING **: Attempt to load unknown IM context type 'gtk-im-context-none' "Warning reading /roo......

wangaowell
2015/04/29
458
2
redhat安装 qt Creator的问题

我的linux从前在/usr/local/Trolltech中安装了Qt-4.7.0和QtEmbedded-4.7.0-arm。后来想装个qt creator,我是bin安装,安装路径是/usr/local/Trolltech,可是安装后双击快捷键没反应,直接在终...

AslanTang
2011/02/23
4.3K
0
QtCreator插件开发之学习日记(1) : 多标签插件

这两天(20120822-20120823)学习了QtCreator插件开发,主要学习资料是DevBean的学习教程http://www.devbean.info/2012/03/qtcreator-plugin-develop-catalog/。不过由于DevBean是以QtCreat...

陈杰鑫
2012/08/23
0
1
window下搭建qt开发环境编译、引用ace

工作中经常用到ace、tao等,在windwo下的c++开发工具基本上就是vs20xx这些工具,还有些就是类似编辑工具例如:source insight等,前者比较大,打开、编译运行比较慢,二期针对ace这样打的库设...

DEC_LIU
2013/01/17
0
0
qt creator doxygen 快速注释文档

1,在以下网址找到和你的qt creator版本相对应的插件文件,还要注意系统版本 http://dev.kofee.org/projects/qtcreator-doxygen/files 2,根据以上要求,我下载的是qtcreator-doxygen-0.3.8-q...

oppotvr
2014/05/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

微信小程序

张小龙的定义 1、不需要下载安装即可使用 实际上也有下载和安装的流程,只不过安装包很小<2M,使得这两个过程很短,不易感知到 2、用户"用完即走"不用关心是否安装太多应用 适用于偶尔使用一...

星闪海洋
14分钟前
0
0
怎么修改truffle中的solidity版本?

当使用truffle开发以太坊solidity合约时,经常碰到的一个问题,就是你的solidity合约代码所要求的编译器版本,与truffle预装的solitiy编译器版本不匹配。本文将介绍如何更改truffle中的solid...

汇智网教程
14分钟前
0
0
JsonUtil工具类

使用的是fastJson package util; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import com.f......

嘿嘿嘿IT
15分钟前
0
0
Mementor模式

//个人感觉就想当于把某个类的某部分或全部复制一份保存在另一个类中,然后在有必要的时候用保存的复制的那部分来恢复之前的某种状态 https://blog.csdn.net/syc434432458/article/details/5...

南桥北木
19分钟前
0
0
Redis几个常见面试题目

1 什么是redis? Redis 是一个基于内存的高性能key-value数据库。 2. Memcache与Redis的区别都有哪些? 1)存储方式 Memecache把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小。 ...

jason_kiss
20分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部