动态库:调试的时候进不到lua代码里(
dll跟pdb在一个目录下就可以?)
生成lua.dll时,预处理器定义要有
LUA_BUILD_AS_DLL
因为luaconf.h
#if defined(LUA_BUILD_AS_DLL)
#if defined(LUA_CORE) || defined(LUA_LIB)
#define LUA_API __declspec(dllexport)
#else
#define LUA_API __declspec(dllimport)
#endif
#else
#define LUA_API extern
#endif
而LUA_CORE是在文件里面定义的,不用在预处理器定义里写。
静态库:
调试的时候能进到lua代码里下面的是转载的:
original address:
http://blog.csdn.net/kun1234567/archive/2007/12/11/1929815.aspx辛苦写了1小时,居然没了。。。。这是第2次写的东西。
1、编译LUA
第1步:
从官方主页www.lua.org下载Lua源代码,最新版本为5.1.2。
解压之后找到“src”文件夹,这里面就是Lua了,不过还不能直接使用。
第2步:
使用任意ANSI C编译器,在这里使用VS2005编译LUA。具体步骤如下:
1、新建一个空的Console工程,在这里该工程名暂为“lua”
2、将src中的文件全部拷贝到该项目文件夹下
3、根据生成的文件来添加需要编译的文件
4、使用Release配置来进行编译
以下是各类生成文件的详细说明:
静态库文件lua.lib
1、添加除了“lua.c”与“luac.c”以外的全部文件到工程
2、更改[项目属性]->[配置属性]->[常规]->[项目类型]为“静态库文件(.lib)”
解释器lua.exe
1、添加除了“luac.c”以外的全部文件到工程
2、更改Release状态下[项目属性]->[配置属性]->[常规]->[项目类型]为“应用程序(.exe)”
编译器luac.exe
3.1、添加除了“lua.c”以外的全部文件到工程
3.2、更改Release状态下[项目属性]->[配置属性]->[常规]->[项目类型]为“应用程序(.exe)”
注意:该文件生成时的名字为lua.exe,因为该项目名称为“lua”。如果之前生成过解释器lua.exe,则应该将解释器移走之后再生成。
2、使用LUA
使用静态库lua.lib
1、新建一个空的console工程,并添加一个空的源文件
2、在该文件中添加以下代码,并自行修改关于路径的部分
//================================================================================================================
// Lua Test Object
// C++ Source lua_test.cpp
//================================================================================================================
//================================================================================================================
// Include Files
//================================================================================================================
extern "C"
{
#include "D:\\My Documents\\Visual Studio 2005\\Projects\\lua\\lua\\lua.h"
#include "D:\\My Documents\\Visual Studio 2005\\Projects\\lua\\lua\\lualib.h"
#include "D:\\My Documents\\Visual Studio 2005\\Projects\\lua\\lua\\lauxlib.h"
}
//================================================================================================================
// Libraries
//================================================================================================================
#pragma comment( lib ,"D:\\My Documents\\Visual Studio 2005\\Projects\\lua\\release\\lua.lib")
//================================================================================================================
// Main Functions
//================================================================================================================
int main( void)
{
return 1;
}
3、如果编译通过,表示静态库文件lua.lib配置成功。
使用解释器lua.exe
1、设置系统环境变量
我的电脑->属性->高级->环境变量(N )->系统变量->Path->在尾部添加 ;+lua.exe所在路径,如
;d:\My Documents\Visual Studio 2005\Projects\lua\release,重启机器。
2、新建文本文件,输入 print("Hello World"),退出将文件名改为 a.lua
3、在CMD中输入 lua a.lua
4、如果出现字符串 Hellow World,表示解释器lua.exe配置成功
使用编译器luac.exe
1、设置系统环境变量
我的电脑->属性->高级->环境变量(N )->系统变量->Path->在尾部添加 ;+lua.exe所在路径,如
;d:\My Documents\Visual Studio 2005\Projects\lua\release,重启机器。
2、新建文本文件,输入 print("Hello World"),退出将文件名改为 a.lua(可以直接使用之前的a.lua)
3、在CMD中输入 luac a.lua
4、如果在a.lua所在的目录下出现luac.out文件,表示解释器luac.exe配置成功
自荐一下:《Lua学习笔记》系列文章。请按顺序阅读。