vc 中lua的配置(转)

选出lua中的include 文件和lib文件。把lua5.1.lib复制到D:/Program Files/Microsoft Visual Studio/VC98/Lib下。并把include目录下的所有.h文件复制到D:/Program Files/Microsoft Visual Studio/VC98/Include下。

 

转自:http://blog.sina.com.cn/s/blog_65380c300100hfrk.html

 

.下载lua 5.1 VC++6.0 库

此目录下包含一个lua5.1.lib和一个include头文件目录。

include/目录下包含:

/lauxlib.h

/lua.h

/lua.hpp

/luaconf.h

/lualib.h

2.网上有很多的文件说在VC++的PROJEC--SETTING下增加lua的库和把头文件include包含进来,没有详细的说明。这里本个经过多次的摸索,作了详细的说明:

在安装好VC++6.0的情况下,把lua5.1.lib复制到安装好VC的lib目录下,我安装VC++在D盘,所以把lua5.1.lib复制到D:/Program Files/Microsoft Visual Studio/VC98/Lib下。并把include目录下的所有.h文件复制到D:/Program Files/Microsoft Visual Studio/VC98/Include下即可。

3.新建一个Win32 Console Application工程,如lua_add.cpp

在lua_add.cpp文件中增加

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

和#pragma   comment(lib,"lua5.1.lib") //这里lua5.1.lib必须与上面的是一样才行

做完这些就可以写main函数了。

完整的程序:

#include "stdafx.h"

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


#pragma   comment(lib,"lua5.1.lib")


lua_State * L;

int luaadd ( int x, int y )
{
 int sum;
 
 //函数名
 lua_getglobal(L, "add");
 
 //第一个参数压栈
 lua_pushnumber(L, x);
 
 //第二个参数压栈
 lua_pushnumber(L, y);
 
 //调用函数
 lua_call(L, 2, 1);
 
 //得到返回值
 sum = (int)lua_tonumber(L, -1);
 lua_pop(L, 1);
 
 return sum;
}

int main ( int argc, char *argv[] )
{
 int sum;
 
 //创建一个指向Lua解释器的指针。
 L = lua_open();
 
 //函数加载Lua库
 luaL_openlibs(L);
 
 //加载脚本
 luaL_dofile(L,"add.lua");
 
 //调用函数
 sum = luaadd( 10, 11);
 
 // print the result
 printf( "The sum is %d/n", sum );
 
 //关闭 释放资源
 lua_close(L);

 printf( "Press enter to exit!" );
 getchar();

 return 0;
}

注意到在main()函数中有luaL_dofile(L,"add.lua")语句,所以必须在lua_add工程目录下新增一个add.lua脚本语言,用记事本新建,录入的内容为:

function add ( x, y )
 return x + y
end

完了之后保存为add.lua即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值