在 windows 下使用 cygwin 編譯 lua 和 cjson 簡直就是災難,最后還是到 ubuntu 下完成了。
1、下載lua源碼(我下載的 5.1 版本,后面還有一個小插曲), 直接解壓編譯,遇到一個 readline.h not found 的問題,需要安裝 readline 庫
# 如果你不是 ubuntu 可能庫名不一樣,建議使用 os 名和報錯信息自行搜索
apt-get install libreadline-dev
最好在 make 的時候指定當前的操作系統,我之前 windows cygwin 環境下使用 mingw 選項編譯會有庫無法加載的問題,使用 linux 編譯,后來成功過。
2、make linux && sudo make install 順利安裝
3、下載 lua cjson 源碼(我好像是下載的 2.1 版本的,對應的 lua 5.3 版本,會導致默認 cjson.so 的生成目錄是 /usr/local/lib/lua/5.3 下面, 而 lua 程序默認會在 /usr/local/lib/lua/5.1 下去加載,可以手動 cp 一下,也可以在編譯之前在 Makefile 中去修改 LUA_VERSION 的版本為 5.1 (或者你現在對應的其他版本)
完。