從Lua5.1開始官方給出的文件只有源代碼和makefile文件了,官網給出的bulid方式也是在linux平台,如果只是想找個庫使用下可以到這里來下載:http://joedf.ahkscript.org/LuaBuilds/ ,如果需要自定修改庫配置的話,就需要自己編譯。這里主要參考文章在Windows下使用Visual Studio編譯Lua5.3中的方式利用VS編譯lua庫文件,不過你也可以參考 windows下編譯lua幾種方法這里所述的幾種方式。
鏈接庫編譯
- 使用Visual Studio創建一個VC++項目,項目命名為Lua53,項目類型為靜態庫、不設置預編譯頭。
- 刪除Visual Studio自動創建的.cpp文件及其對應的.h文件。
- 將下載的Lua代碼解壓,將src目錄下的全部文件拷貝到項目中,然后刪除lua.c、luac.c和lua.hpp這三個文件。
- 編譯項目會得到一個Lua53.lib的文件,這就是我們編譯得到的Lua鏈接庫。
Lua解釋器
Lua解釋器是一個可以直接運行Lua代碼的可執行文件,因此
- 在同一個解決方案下繼續創建VC++項目,項目命名為Lua,項目類型為控制台應用程序、需設置預編譯頭。
- 刪除Visual Studio自動創建的.cpp文件及其對應的.h文件。
- 將下載的Lua代碼解壓,將src目錄下的全部文件拷貝到項目中,然后刪除luac.c這個文件。
- 設置當前項目依賴於Lua53項目
- 編譯項目會得到一個Lua.exe文件,這就是我們編譯得到的Lua解釋器。
Lua編譯器
- 在同一個解決方案下繼續創建VC++項目,項目命名為Lua,項目類型為控制台應用程序、需設置預編譯頭。
- 刪除Visual Studio自動創建的.cpp文件及其對應的.h文件。
- 將下載的Lua代碼解壓,將src目錄下的全部文件拷貝到項目中,然后刪除lua.c這個文件。
- 設置當前項目依賴於Lua53項目
- 編譯項目會得到一個Luac.exe文件,這就是我們編譯得到的Lua解釋器。
遇到的問題
- Main 函數找不到: 可能是項目類型不是控制台程序引起,項目屬性-->連接器-->系統中設置
- stdafx.h 找不到: 屬性-->C/C++-->預編譯頭 取消預編譯頭
參考
Lua lib dowlaod
[官網bulid方式](file:///C:/Users/rubbyzhang/Desktop/Lua/lua-5.3.4%20%20Compile%20Project/lua-5.3.4/doc/readme.html)
工程下載鏈接:http://pan.baidu.com/s/1skQUJmP ,包含lpeg、struct庫