现在的位置: 首页 > 综合 > 正文

vc 中lua的配置(转)

2019年08月07日 ⁄ 综合 ⁄ 共 1593字 ⁄ 字号 评论关闭

选出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即可。

抱歉!评论已关闭.