在VS中测试Lua项目
来源:互联网 发布:单片机无线抢答器 编辑:程序博客网 时间:2024/06/11 19:06
(1)下载,安装LuaForWindows_v5.1.4-40.exe
(2)安装完成后:开始-运行-cmd回车,输入lua,成功安装时会显示Lua的版本等信息。本人的是:
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
(3)VS2005下新建一个win32控制台应用程序的空项目。
新建一个main.cpp文件输入
extern "C"{#include <lua.h>#include <lauxlib.h>#include <lualib.h>}#include <stdio.h>#include <string>int main (void){ char buff[256]; int error; lua_State *L = lua_open(); /* opens Lua */ luaopen_base(L); /* opens the basic library */ luaopen_table(L); /* opens the table library */ luaopen_io(L); /* opens the I/O library */ luaopen_string(L); /* opens the string lib. */ luaopen_math(L); /* opens the math lib. */ while (fgets(buff, sizeof(buff), stdin) != NULL) { error = luaL_loadbuffer(L, buff, strlen(buff), "line") || lua_pcall(L, 0, 0, 0); if (error) { fprintf(stderr, "%s", lua_tostring(L, -1)); lua_pop(L, 1);/* pop error message from the stack */ } } lua_close(L); return 0;}
(4)将C:\Program Files\Lua\5.1下的include和lib两个文件夹拷到工程所在目录下
将工程属性C/C++附加包含目录和链接器的附加库目录。
注意:lua相关的头文件要以extern "C"的方式,否则将报如下错
1>main.obj : error LNK2019: 无法解析的外部符号 "void __cdecl lua_close(struct lua_State *)" (?lua_close@@YAXPAUlua_State@@@Z),该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "void __cdecl lua_settop(struct lua_State *,int)" (?lua_settop@@YAXPAUlua_State@@H@Z),该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "char const * __cdecl lua_tolstring(struct lua_State *,int,unsigned int *)" (?lua_tolstring@@YAPBDPAUlua_State@@HPAI@Z),该符号在
函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "int __cdecl lua_pcall(struct lua_State *,int,int,int)" (?lua_pcall@@YAHPAUlua_State@@HHH@Z),该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "int __cdecl luaL_loadbuffer(struct lua_State *,char const *,unsigned int,char const *)" (?
luaL_loadbuffer@@YAHPAUlua_State@@PBDI1@Z),该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "int __cdecl luaopen_math(struct lua_State *)" (?luaopen_math@@YAHPAUlua_State@@@Z),该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "int __cdecl luaopen_string(struct lua_State *)" (?luaopen_string@@YAHPAUlua_State@@@Z),该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "int __cdecl luaopen_io(struct lua_State *)" (?luaopen_io@@YAHPAUlua_State@@@Z),该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "int __cdecl luaopen_table(struct lua_State *)" (?luaopen_table@@YAHPAUlua_State@@@Z),该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "int __cdecl luaopen_base(struct lua_State *)" (?luaopen_base@@YAHPAUlua_State@@@Z),该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "struct lua_State * __cdecl luaL_newstate(void)" (?luaL_newstate@@YAPAUlua_State@@XZ),该符号在函数 _main 中被引用
链接器的输入下的附加依赖性设置为 lua5.1.lib lua51.lib,否则将报错。
1>main.obj : error LNK2019: 无法解析的外部符号 _lua_close,该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 _lua_settop,该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 _lua_tolstring,该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 _lua_pcall,该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 _luaL_loadbuffer,该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 _luaopen_math,该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 _luaopen_string,该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 _luaopen_io,该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 _luaopen_table,该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 _luaopen_base,该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 _luaL_newstate,该符号在函数 _main 中被引用
再次编译OK。
注意:运行程序时,luaopen_io(L); /* opens the I/O library */语句之后不能单步调试运行
版权声明:本文为博主原创文章,未经博主允许不得转载。
- 在VS中测试Lua项目
- 在VS中配置Lua
- 在VS中配置Lua
- vs项目中使用c++调用lua
- 在 vs 中 调试 lua脚本
- 在 vs 中 调试 lua脚本
- 在vs中集成lua开发环境
- 在vs中调试lua脚本
- 在VS中执行Lua代码
- 在VS中 使用C#访问Lua
- 在vs中导入项目
- C++ VS 2008中ATL的创建,使用。并在C++项目中进行调用测试
- 如何在lua项目中使用dragonbones
- 在C/C++项目中集成Lua
- C++ VS 2008中ATL的创建,使用。并在C++项目以及C#项目中进行调用测试
- C++ VS 2008中ATL的创建,使用。并在C++项目以及C#项目中进行调用测试
- [VS]在整个项目中查找
- 性能测试 lua VS java VS nodejs VS c++
- 常见 Java 字节码 指令 助记符
- 通过设备指针调用其他驱动程序(同步方式)
- 协程框架的堆栈大小陷阱
- [leetcode-82]Remove Duplicates from Sorted List II(C)
- ShaderLab学习笔记
- 在VS中测试Lua项目
- HDU 2191(悼念512汶川大地震遇难同胞——珍惜现在,感恩生活)多重背包
- android 中 setTextColor 方法使用注意事项
- C++中堆栈,堆和栈的区别
- IOS界面适配一: Pt与Px的关系
- Hive安装及基础知识总结
- Object源码研究2——getClass()方法分析
- Makefile中include、-include、sinclude的区别
- HttpURLConnection 提交表单+ 上传文件