天天看點

tolua++初探(一)

    用luaplus試驗了下,想把簡單的C++類映射到lua腳本中不難,但是複雜一點的,比方說類的聚合、繼承等,比較麻煩。我試驗了兩天,用表中表來實作是可以的,但自己弄太麻煩了。說到底,我隻是想用一下而已,不是想從頭弄一個系統。   

     用CEGUI時發現它用了tolua++,從網上DOWN了源碼(1.0.92),支援Lua5.1。我用VS2005,用源碼包裡的sln順利編譯出tolua++.exe。lib據說要用第三方的scons來弄,嫌麻煩,我直接建了個VC動态庫工程,将src/lib下的檔案加進來,修改了tolua++.h,重定義一下TOLUA_API,編譯通過。

tolua++初探(一)
#ifndef TOLUA_API

#ifdef _WINDLL 
#define TOLUA_API __declspec(dllexport)
#else
#define TOLUA_API extern
#endif

#endif
           

    這隻是個簡單的定義,如果在其它的DLL中用tolua++.h會出問題(我直接用了_WINDLL宏來判斷),自己定義一個其它的宏就可以了。     

    我要用動态連結庫,不想用靜态庫。下了lua5.1.3的源碼包,編譯動态庫。     

    編譯時都選擇MD,不選MT,後者在項目中有多個子產品時容易出問題,尤其是有的子產品用MD,有的子產品用MT時更容易出問題。我那天就因為這個出了400多個錯誤,幾乎抓狂。     

    這樣我現在有了tolua++.exe,lua5.1.dll,tolua++.dll,以及對應的lib檔案。可以進行試驗了。