您的位置:首页 > 编程语言 > Lua

使用luabind生成dll文件

2015-12-09 16:13 411 查看
(前提条件:

1.配置好lua环境,详见我的文章:Lua开发环境配置

2.配置好boost库,详见我的文章:VS2012编译boost库

3.编译好luabind,详见我的文章:VS2012编译luabind)

1.新建一个控制台DLL工程,
名字是luabind_test






2.VS项目环境配置

lua环境目录

boost环境目录

luabind环境目录

我的项目设置:







3.在项目中新建luabind_test.cpp文件。

luabind_test.cpp文件内容

#include <iostream>

#include <luabind/luabind.hpp>

#include <luabind/lua_include.hpp>

extern "C"

{

#include "lua.h"

#include "lauxlib.h"

}

void greet()

{

std::cout << "hello world!/n";

}

extern "C" int luaopen_luabind_test(lua_State* L)

{

using namespace luabind;

open(L);

module(L)

[

def("greet", &greet)

];

return 0;

}

我在编译的过程中遇到各种的问题,卡了我不少的时间。弄得我自己都快要放弃了,不过最后还是成功了。在某一步过程中出错了就会造成后面的步骤都会出错,请确保之前的每一步都是成功的。

4.编译项目

如果成功编译了会生成一个dll文件luabind_test.dll,会看到:



把生成的luabind_test.dll放到lua配置环境下面。我的环境是:



5.验证是否能够使用C++中的函数。

方法1:

双击运行lua.exe



自己手动打入:

require "luabind_test"

greet()

方法2:

打开SciTE,在配置lua环境的时候就会有这么一个编辑器。



先随便新建一个lua文件。记得先保存再运行,不然不能运行



运行lua文件。结果如下:



说明:上面我只是简单的使用了C++中的函数,还有另外的把C++中的类绑定函数到Lua,重载函数...另外的详见我转载的文章:《LuaBind--最强大的Lua
C++Bind》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: