動態庫:調試的時候進不到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學習筆記》系列文章。請按順序閱讀。