lua和luabind编译测试使用
来源:互联网 发布:单片机12864程序解析 编辑:程序博客网 时间:2024/04/30 23:28
1 下载lua-5.1.4.tar.gz和luabind-0.9.1.zip
2 解压后,新建vs工程lualib luabindlib
生成静态库 生成对应lib
luabind需要编译boost库
2 测试工程test
包含目录
E:\library/boost_1_55_0;../lua-5.1.4\src;../luabind-0.9.1
包含的lib
luabindlib.lib;lualib.lib
lib路径
../lualib/$(PlatformTarget)/$(Configuration)/;../luabindlib/$(PlatformTarget)/$(Configuration)/
#include "stdio.h"
extern "C"{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
#include "luabind/luabind.hpp"
class CUser
{
public:
static CUser& Instance(){
if(instance_==NULL)
{
instance_ = new CUser;
}
return *instance_;
}
int id;
public:
static CUser* instance_;
};
CUser* CUser::instance_ = NULL;
CUser& GetUserInstance()
{
return CUser::Instance();
}
extern "C" int init(lua_State* L){
using namespace luabind;
open(L);
module(L)
[
def("GetUserInstance",&GetUserInstance)
];
return 0;
}
int main()
{
using namespace luabind;
lua_State* L = lua_open();
luaopen_base(L);
luaopen_table(L);
luaL_openlibs(L);
luaopen_string(L);
luaopen_math(L);
init(L);
int ret = luaL_dofile(L,"D:\\GNU_source\\lua\\luabindTest\\x64\\Debug\\test.lua");
if(ret)
{
lua_close(L);
return -1;
}
ret= luabind::call_function<int>(L,"addFunc",2,3);
luabind::call_function<void>(L,"callUser");
lua_close(L);
return 0;
}
2 解压后,新建vs工程lualib luabindlib
生成静态库 生成对应lib
luabind需要编译boost库
2 测试工程test
包含目录
E:\library/boost_1_55_0;../lua-5.1.4\src;../luabind-0.9.1
包含的lib
luabindlib.lib;lualib.lib
lib路径
../lualib/$(PlatformTarget)/$(Configuration)/;../luabindlib/$(PlatformTarget)/$(Configuration)/
#include "stdio.h"
extern "C"{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
#include "luabind/luabind.hpp"
class CUser
{
public:
static CUser& Instance(){
if(instance_==NULL)
{
instance_ = new CUser;
}
return *instance_;
}
int id;
public:
static CUser* instance_;
};
CUser* CUser::instance_ = NULL;
CUser& GetUserInstance()
{
return CUser::Instance();
}
extern "C" int init(lua_State* L){
using namespace luabind;
open(L);
module(L)
[
def("GetUserInstance",&GetUserInstance)
];
return 0;
}
int main()
{
using namespace luabind;
lua_State* L = lua_open();
luaopen_base(L);
luaopen_table(L);
luaL_openlibs(L);
luaopen_string(L);
luaopen_math(L);
init(L);
int ret = luaL_dofile(L,"D:\\GNU_source\\lua\\luabindTest\\x64\\Debug\\test.lua");
if(ret)
{
lua_close(L);
return -1;
}
ret= luabind::call_function<int>(L,"addFunc",2,3);
luabind::call_function<void>(L,"callUser");
lua_close(L);
return 0;
}
0 0
- lua和luabind编译测试使用
- [转载] VC2008下编译Lua和LuaBind
- 编译boost、lua、luabind
- 构建 Lua、LuaBind 的 C++ 编译环境
- Linux下Luabind编译和使用环境的搭建
- 在Windows下编译 Boost 1.35、Lua 5.1和LuaBind 0.7
- 使用luabind绑定box2d的lua接口
- 编译和使用Lua
- Lua-Luabind上手试用
- lua 的编译和使用
- clang编译luabind项目报错和tcmalloc内存释放
- bjam编译LuaBind
- VS2010编译luabind
- VS2012编译luabind
- luabind + hge + lua 使用方法总结
- XCode编译和使用Lua的方法
- lua-checker工具的编译和使用
- 编译lua,以及c和lua交叉使用
- 内省
- android图片的双缓存
- LeetCode (L)
- 互联网行业薪酬等级!看看你值多少钱?
- [Sqlite] --> Sqlite在Windows、Linux 和 Mac OS X 上的安装过程
- lua和luabind编译测试使用
- 理解RESTful架构
- eclipse打开含中文properties文件乱码解决
- 【深度探索C++对象模型】第二章 构造函数语意学(中)
- 示例演示“距离矢量路由算法”工作原理
- BeanUtils的使用
- Replace the SSL Certificate for HP System Management homepage with a CA generated one
- oracle null值处理函数
- 算法笔记--直接插入排序