vc/vs下lua编程环境搭建

以vs2003[en]为例       

安装完LuaForWindows_v5.1.4

http://luaforge.net/frs/?group_id=377

打开vs

tools->options->projects->vc++ directories

executable files 选项添加lua安装以后的路径,我的是 E:/work/lua/Lua5.1

include files选项添加lua include路径,我的是 E:/work/lua/Lua5.1/include

library files 选项添加lua lib路径,我的是 E:/work/lua/Lua5.1/lib

[如果怕出问题,可以把这些新加的选项都提到最前面]

ok

其他一些问题及解决办法

1.编译报错一

oid __cdecl lua_close(struct lua_State *)" (?lua_close@@YAXPAUlua_State@@@Z) referenced in function _main

unresolved external symbol "void __cdecl lua_settop(struct lua_State *,int)" (?lua_settop@@YAXPAUlua_State@@H@Z) referenced in function _main

......

原因

代码中的包含头部分

#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>

用在了c++语法中

解决方法

添加扩展c调用申明

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

2.编译报错二

unresolved external symbol _lua_close referenced in function _main
unresolved external symbol _lua_settop referenced in function _main

......

原因

lua静态库没有链接

解决方法

Project->Code text properties->configuration properties->linker->input

Additional Dependencies 选项加入 lua5.1.lib lua51.lib

3.编译成功后命令行提示unprotected error in call to lua api <no calling environment>

原因及解决方法

 lua5.0以前初始化的都会用到如下函数

 lua_State *L = lua_open();

 luaopen_base(L);
        luaopen_table(L);
        luaopen_io(L);
        luaopen_string(L);
        luaopen_math(L);

5.1以后改为

lua_State *L = lua_open();

luaL_openlibs(L)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值