在 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 (或者你现在对应的其他版本)
完。