本文使用版本为lua-5.2.3.tar.gz
一.安装
1. wget http://www.lua.org/ftp/lua-5.2.3.tar.gz
2. tar zxvf lua-5.2.3.tar.gz && cd lua-5.2.3
3. 修改makefile
将
linux:
$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
修改为 :
linux:
$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline -lncurses"
否则编译时会如下类似报错:
gcc -o lua lua.o liblua.a -lm -Wl,-E -ldl -lreadline
/usr/lib/gcc/x86_64-redhat-linux/3.4.5/../../../../lib64/libreadline.so: undefined reference to `tgetnum'
/usr/lib/gcc/x86_64-redhat-linux/3.4.5/../../../../lib64/libreadline.so: undefined reference to `tgoto'
/usr/lib/gcc/x86_64-redhat-linux/3.4.5/../../../../lib64/libreadline.so: undefined reference to `tgetflag'
/usr/lib/gcc/x86_64-redhat-linux/3.4.5/../../../../lib64/libreadline.so: undefined reference to `BC'
4. 编译
make linux && make install
说明: make install 会将编译产出cp到 /usr/local/bin /usr/local/include /usr/local/lib 等目录,如果没有root权限会失败, 这是可以手动将需要拷贝的编译结果
拷贝到自己指定的一些目录
5. 使用
待续