首先去官网下载LUA程序源码,以下为链接地址:
http://www.lua.org/download.html
打开网址,可以看到如下图:
点击download,下载后解压,可看到以下目录:
打开src文件夹,可以看到LUA源代码文件:
开始搭建:
本例子中采用静态库的方式搭建LUA运行环境。具体操作如下:
1、打开VS2005,选择Visual C++下的Win32控制台应用程序,新建项目LUA,看下图:
选择静态库,点击完成,至此工程建立起来了。
2、将C:\Documents andSettings\Administrator\桌面\lua-5.2.3\src文件夹拷贝到本工程路径下:
3、将src文件夹下除了MakeFile文件之外,全部添加到工程中,具体操作如下:
首先在源文件上单击右键->添加->新建筛选器,将筛选器改名为LUA:
在LUA上单击右键->添加->现有项,把LUA源代码文件全部添加进工程中:
全部选中,点击添加:
把LUA.C中的main函数改名为lua_main,把LUAC.C中的main函数改名为luac_main。
4、点击启动调试。
发现错误:
找到第一个错误:
1>c:\documentsand settings\administrator\桌面\lua\src\lapi.c(1286) : fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?
因为工程中的每个cpp文件属性默认都是使用预编译头(/YU)的,但是添加的第三方文件并没有 #include "stdafx.h" 预编译指示头,所以编译器在此cpp文件中一直到末尾都没有找到它。解决办法:
选择项目属性,在配置属性->C/C++->预编译头下,找到“创建/使用预编译头”一栏,将“使用预编译头(/Yu)”改为“不使用预编译头”。
确定退出,再次编译,虽然有好多警告,但是编译通过了,并且弹出了一个窗口:
此时在C:\Documents and Settings\Administrator\桌面\LUA\debug路径下就可以看到LUA.lib文件了。
至此,静态库创建完毕。
5、在现有项目的基础上再添加一个项目Test,如下:
选择控制台应用程序,完成。
6、在Test.cpp中输入以下代码:
7、将Test项目设置为启动项目,单击启动调试,报错:
提示说找不到lua.h文件,这是因为没有把源代码头文件路径包含进来,在工程属性页,配置属性 -> C/C++ -> 常规下,找到“附加包含目录”,将路径添加进来:
点击确定。再次编译,报错:
此问题是由于我们没有把LUA工程生成的LUA.lib加进来,所以我们可以在配置属性->链接器->常规下,找到“附加库目录”,把路径添加进去。
配置属性->链接器->输入下,找到“附加依赖项”,把该文件添加进去。
并且由于我们工程中大部分是C文件,在配置属性->C/C++->高级下,找到“编译为”选项,将“编译为C++代码(/TP)”改为“编译为C代码(/TC)”。
编译,通过!!
8、现在还差运行的脚本,在不带中文的任意路径下(所以不能在桌面上创建,有中文字符),此例中是在F盘的根目录下创建一个文件test.lua,填入内容:
创建后如下:
点击启动调试,此时会看到: