C++嵌入lua脚本
2016-09-05 14:08
435 查看
现时游戏开发里比较多使用一门服务器开发语言 + 脚本作为开发,在此仅记录C++ 嵌入 Lua脚本的过程
环境: Mac, 10.11.6
1. 下载lua-5.x.x,我使用的时候是5.3.3。
2. 新建Xcode 项目
3. 新建完项目后,把下载好的lua-x.x.tar.gz拷贝到项目的目录下,我这里的路径是:/Users/Kelvin/workspace/cpp/testProject/lua_lesson1/lua_lesson1, 解压
4. 解压完毕之后,切入lua-5.x.x里,执行make macosx,生成liblua.a文件
5. 配置路径:选中project -> Build Settings, 在这里配置Headers search paths和Library search paths, 注意Headers结尾有个/
也可以用另一种方式配置:
Headers search paths -> $(SRCROOT)/lua_lesson1/lua-5.3.3/src/
Library search paths -> $(PROJECT_DIR)/lua_lesson1
配置以后显示的路径与绝对路径配置的是一致的结果
6.添加liblua.a
7.新建lua文件: File -> new -> other
8.打开hello.lua, 写入测试代码,经典的hello world
9.引入头lua的lua.hpp文件, 如果没报错,证明配置的路径正确,如果提示找不到lua.hpp,请检查路径是否配置错误
10.在main函数里写入代码,我把main.cpp整个都放上来:
11. command + R,编译运行
ok , 运行通过,C++ 嵌入lua脚本的hello world就已经完成了。
参考子龙山人的文章:http://www.cocos.com/doc/tutorial/show?id=1213
环境: Mac, 10.11.6
1. 下载lua-5.x.x,我使用的时候是5.3.3。
2. 新建Xcode 项目
3. 新建完项目后,把下载好的lua-x.x.tar.gz拷贝到项目的目录下,我这里的路径是:/Users/Kelvin/workspace/cpp/testProject/lua_lesson1/lua_lesson1, 解压
4. 解压完毕之后,切入lua-5.x.x里,执行make macosx,生成liblua.a文件
5. 配置路径:选中project -> Build Settings, 在这里配置Headers search paths和Library search paths, 注意Headers结尾有个/
也可以用另一种方式配置:
Headers search paths -> $(SRCROOT)/lua_lesson1/lua-5.3.3/src/
Library search paths -> $(PROJECT_DIR)/lua_lesson1
配置以后显示的路径与绝对路径配置的是一致的结果
6.添加liblua.a
7.新建lua文件: File -> new -> other
8.打开hello.lua, 写入测试代码,经典的hello world
print "Hello World"
9.引入头lua的lua.hpp文件, 如果没报错,证明配置的路径正确,如果提示找不到lua.hpp,请检查路径是否配置错误
#include "lua.hpp"
10.在main函数里写入代码,我把main.cpp整个都放上来:
// // main.cpp // lua_lesson1 // // Created by 冯文斌 on 16/9/5. // Copyright © 2016年 kelvin. All rights reserved. // #include <iostream> #include "lua.hpp" int main(int argc, const char * argv[]) { //1. 初始化Lua虚拟机 lua_State *lua_state; lua_state = luaL_newstate(); //2.设置待注册的Lua标准库,这个库是给你的Lua脚本用的 //因为接下来我们只想在Lua脚本里面输出hello world,所以只引入基本库就可以了 static const luaL_Reg lualibs[] = { { "base", luaopen_base }, { NULL, NULL} }; //3.注册Lua标准库并清空栈 const luaL_Reg *lib = lualibs; for(; lib->func != NULL; lib++) { lib->func(lua_state); lua_settop(lua_state, 0); } //4、运行hello.lua脚本 luaL_dofile(lua_state, "hello.lua"); //5. 关闭Lua虚拟机 lua_close(lua_state); return 0; }
11. command + R,编译运行
ok , 运行通过,C++ 嵌入lua脚本的hello world就已经完成了。
参考子龙山人的文章:http://www.cocos.com/doc/tutorial/show?id=1213
相关文章推荐
- Lua和C++交互 学习记录之一:C++嵌入脚本
- Lua教程(一):在C++中嵌入Lua脚本
- Visual Sutdio2015 C++嵌入Lua脚本环境配置
- Lua教程: C++嵌入Lua脚本(1)
- C++ 嵌入 Lua 脚本 示例代码
- 在C++应用中通过Luabind使用lua脚本(一)
- C++调用Lua脚本
- 利用luabind将Lua嵌入到C++项目中(一)
- 如何在C++中集成Lua脚本(LuaPlus篇)
- 在c++中集成lua脚本
- 在C++中集成Lua脚本
- 使用LuaPlus在C++项目中集成Lua脚本
- 利用luabind将Lua嵌入到C++项目中
- 导出C++中的类到Lua脚本中的经历收藏
- 在C++中使用LUA脚本
- 如何在C++中集成Lua脚本(LuaPlus篇)
- 如何在C++中集成Lua脚本(LuaPlus篇)
- 如何在C++中集成LUA脚本(LuaWrapper For C++篇)
- 将lua嵌入C++中用来做计费系统的批价
- 如何在C++中集成Lua脚本(LuaPlus篇)