最近研究lua的东西,没有时间弄C++, C++设计模式的东西,有时间我会更新的!
话不多说,我们进入正题:
首先我们从Lua官方网站上下载Lua源码文件:http://www.lua.org/ftp/ 下载什么版本的无所谓,最好是5.1以上的版本。
然后我解压到 e:\Lua 目录下,这个目录你们自己定。
Lua目录文件src为Lua源代码文件,doc为lua说明以及Lua手册,test为例子。
然后运行VS工具,,运行这个目录下的批处理文件
然后就会在,Lua源文件src目录下生成。
注:如果你下载的是5.2版本的可能没有批处理文件。需要下载一个5.1版本的。把批处理文件拿过来用。
然后我们打开VS环境。新建一个c++ 控制台程序:(如果这个也不会,那我真没办法了)
打开工程属性-对着工程右键,最下面那个,会出来这个界面,下面红圈的3个路径,把你存放的Lua源代码文件路径放到上面来,我的是E:\Lua\src。SRC为源码文件。
然后添加生成的lua,lib库到环境中,
打开:输入src目录下生成lib库的名字。我的是lua51.lib
其他一些问题及解决办法
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
lib库没有添加,按照上文的方法添加
主程序:
运行可能会提示,系统中丢失lua51.dll,把你src目录下生成的lua51.dll放到c:盘系统目录下的windows--system32目录下。然后运行:
OK,大功告成!!!!赶紧去试试吧。如果有什么不懂得地方,可以留言。
再每次创建的时候:需设置