使用luabind生成dll文件
来源:互联网 发布:sql实例教程 编辑:程序博客网 时间:2024/05/08 12:53
(前提条件:
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》
- 使用luabind生成dll文件
- dll文件生成使用
- 使用csc生成DLL文件
- 使用C#生成dll文件并调用
- 使用VS2012生成和调用DLL文件
- 使用Visual Studio生成DLL文件
- 20、C#:使用VS2010生成dll文件
- 【原创】生成编写DLL并使用DLL文件
- 从零开始使用luabind
- c++使用luabind示例
- 使用DLL文件生成LIB文件实现动态链接
- 使用模块定义文件(.def)文件生成dll
- C#生成DLL文件
- jni生成dll文件
- C#生成DLL文件
- Delphi生成Dll文件
- C#生成DLL文件
- C#生成DLL文件
- 九宫格主页布局的实现
- (八十六)switch语句
- 深入浅出 RPC - 浅出篇
- C:set 标签设置(绝对路径的设置)
- python基础教程共60课-第18课bool类型转换
- 使用luabind生成dll文件
- 在宏里访问结构体的成员 - rust
- VC SDI程序在英文版系统不能运行
- 目标检测学习_1(用opencv自带hog实现行人检测)
- 【exception】java.lang.NoSuchMethodError: org.springframework.beans.Beans.BeanUtils
- 基础连接已经关闭: 服务器关闭了本应保持活动状态的连接。
- NDK——起源
- 随机生成给定范围内N个不重复的数
- 复合和继承