調(diào)試的時(shí)候進(jìn)不到lua代碼里(dll跟pdb在一個(gè)目錄下就可以?)
生成lua.dll時(shí),預(yù)處理器定義要有 LUA_BUILD_AS_DLL
因?yàn)?/span>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是在文件里面定義的,不用在預(yù)處理器定義里寫。#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
靜態(tài)庫(kù):
調(diào)試的時(shí)候能進(jìn)到lua代碼里
下面的是轉(zhuǎn)載的:
original address: http://blog.csdn.net/kun1234567/archive/2007/12/11/1929815.aspx
辛苦寫了1小時(shí),居然沒了。。。。這是第2次寫的東西。
1、編譯LUA
第1步:
從官方主頁(yè)www.lua.org下載Lua源代碼,最新版本為5.1.2。
解壓之后找到“src”文件夾,這里面就是Lua了,不過還不能直接使用。
第2步:
使用任意ANSI C編譯器,在這里使用VS2005編譯LUA。具體步驟如下:
1、新建一個(gè)空的Console工程,在這里該工程名暫為“lua”
2、將src中的文件全部拷貝到該項(xiàng)目文件夾下
3、根據(jù)生成的文件來添加需要編譯的文件
4、使用Release配置來進(jìn)行編譯
以下是各類生成文件的詳細(xì)說明:
靜態(tài)庫(kù)文件lua.lib
1、添加除了“lua.c”與“luac.c”以外的全部文件到工程
2、更改[項(xiàng)目屬性]->[配置屬性]->[常規(guī)]->[項(xiàng)目類型]為“靜態(tài)庫(kù)文件(.lib)”
解釋器lua.exe
1、添加除了“luac.c”以外的全部文件到工程
2、更改Release狀態(tài)下[項(xiàng)目屬性]->[配置屬性]->[常規(guī)]->[項(xiàng)目類型]為“應(yīng)用程序(.exe)”
編譯器luac.exe
3.1、添加除了“lua.c”以外的全部文件到工程
3.2、更改Release狀態(tài)下[項(xiàng)目屬性]->[配置屬性]->[常規(guī)]->[項(xiàng)目類型]為“應(yīng)用程序(.exe)”
注意:該文件生成時(shí)的名字為lua.exe,因?yàn)樵擁?xiàng)目名稱為“lua”。如果之前生成過解釋器lua.exe,則應(yīng)該將解釋器移走之后再生成。
2、使用LUA
使用靜態(tài)庫(kù)lua.lib
1、新建一個(gè)空的console工程,并添加一個(gè)空的源文件
2、在該文件中添加以下代碼,并自行修改關(guān)于路徑的部分
//================================================================================================================
// 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、如果編譯通過,表示靜態(tài)庫(kù)文件lua.lib配置成功。
使用解釋器lua.exe
1、設(shè)置系統(tǒng)環(huán)境變量
我的電腦->屬性->高級(jí)->環(huán)境變量(N )->系統(tǒng)變量->Path->在尾部添加 ;+lua.exe所在路徑,如
;d:\My Documents\Visual Studio 2005\Projects\lua\release,重啟機(jī)器。
2、新建文本文件,輸入 print("Hello World"),退出將文件名改為 a.lua
3、在CMD中輸入 lua a.lua
4、如果出現(xiàn)字符串 Hellow World,表示解釋器lua.exe配置成功
使用編譯器luac.exe
1、設(shè)置系統(tǒng)環(huán)境變量
我的電腦->屬性->高級(jí)->環(huán)境變量(N )->系統(tǒng)變量->Path->在尾部添加 ;+lua.exe所在路徑,如
;d:\My Documents\Visual Studio 2005\Projects\lua\release,重啟機(jī)器。
2、新建文本文件,輸入 print("Hello World"),退出將文件名改為 a.lua(可以直接使用之前的a.lua)
3、在CMD中輸入 luac a.lua
4、如果在a.lua所在的目錄下出現(xiàn)luac.out文件,表示解釋器luac.exe配置成功
自薦一下:《Lua學(xué)習(xí)筆記》系列文章。請(qǐng)按順序閱讀。
posted on 2008-10-29 17:57 七星重劍 閱讀(3352) 評(píng)論(7) 編輯 收藏 引用 所屬分類: PL--Lua 、IDE -- visual c++ 、C++ lib -- CEGUI