luaplus windows環境下 VC6編譯

最近的項目中用到了lua,開始是直接使用lua自帶的API進行調用,不過堆棧調來調去很麻煩,於是上網找lua 針對 C++的封裝,經過一番權衡,最後選用了 luaplus。

本以爲應該很容易就弄出來,結果坑爹的搞了一上午,在此寫下編譯過程,以方便後來人


1,下載源代碼

http://luaplus.org/ 

這個是官網,不過坑爹是下載的資源只有git 這種方式,太麻煩。。(版本控制軟件)

於是不甘心,繼續google搜索,最終讓我找到了蛛絲馬跡:

http://luaplus.org/issues/4

這個bug填的也是個同胞,呵呵。

根據這個bug的回覆,發現luaplus轉到了github上。

https://github.com/jjensen/luaplus51-all

根據如上的鏈接,我們可以獲取源代碼了。


2,編譯

按照wiki中的描述,要使用Jam生成VC的工程文件,不過經過筆者各種嘗試,沒成功。

不甘心之下繼續上網搜索,發現一些帖子抽取源代碼,自己手動建工程的方式編譯的,於是嘗試下,發現可行:


方法簡述如下:

進入源代碼目錄中的luaplus子目錄,由於我要編譯的是靜態庫版本,所以再進入到StaticLib子目錄中,使用文本編輯器打開LuaPlusStaticLib.jam 文件。

文本中主要注意的是:

   LUAPLUS_SRCS 後面的都是工程編譯所要用的源代碼文件。

   C.Defines LuaPlusShared 後面的 是預編譯宏,需要加到工程中。

然後就是定好輸出的路徑和名稱,點擊編譯即可了。


PS: 由於源代碼文件太多了,逐個篩選太麻煩,截止該文發佈,luaplus目錄下和luaplus\src子目錄下的文件,除了 luac.c, lua.c, LuaPlusAll.cpp外,都需要加入到工程中,

如果版本變化了,就簡單參照一下吧。

PS2:這個版本有一個文件編譯的時候會報錯, 問題是返回值是void類型函數,寫了返回值,把return去掉,重新編譯即可。


OVER

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章