Linux 环境下 Lua 安装

系统环境:CentOS-6.2-x86_64。


Lua
 是嵌入式脚本语言,应用场景很广泛。


引自官网:
Lua is used in many products and projects around the world, including several well-known games。

官网地址:http://www.lua.org

Lua 的精髓:简约而不简单!


Lua
 在 Linux 环境下的安装:

[plain]  view plain copy print ?
  1. wget http://www.lua.org/ftp/lua-5.2.0.tar.gz  
  2. tar zxvf lua-5.2.0.tar.gz  
  3. cd lua-5.2.0  
  4. make linux  

此时,执行make linux , 可能会报错:

[plain]  view plain copy print ?
  1. [root@localhost lua]# make linux  
  2. cd src && make linux  
  3. make[1]: Entering directory `/usr/local/lua/src'  
  4. make all SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline -lncurses"  
  5. make[2]: Entering directory `/usr/local/lua/src'  
  6. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lapi.o lapi.c  
  7. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lcode.o lcode.c  
  8. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lctype.o lctype.c  
  9. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o ldebug.o ldebug.c  
  10. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o ldo.o ldo.c  
  11. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o ldump.o ldump.c  
  12. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lfunc.o lfunc.c  
  13. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lgc.o lgc.c  
  14. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o llex.o llex.c  
  15. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lmem.o lmem.c  
  16. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lobject.o lobject.c  
  17. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lopcodes.o lopcodes.c  
  18. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lparser.o lparser.c  
  19. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lstate.o lstate.c  
  20. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lstring.o lstring.c  
  21. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o ltable.o ltable.c  
  22. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o ltm.o ltm.c  
  23. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lundump.o lundump.c  
  24. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lvm.o lvm.c  
  25. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lzio.o lzio.c  
  26. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lauxlib.o lauxlib.c  
  27. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lbaselib.o lbaselib.c  
  28. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lbitlib.o lbitlib.c  
  29. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lcorolib.o lcorolib.c  
  30. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o ldblib.o ldblib.c  
  31. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o liolib.o liolib.c  
  32. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lmathlib.o lmathlib.c  
  33. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o loslib.o loslib.c  
  34. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lstrlib.o lstrlib.c  
  35. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o ltablib.o ltablib.c  
  36. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o loadlib.o loadlib.c  
  37. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o linit.o linit.c  
  38. ar rcu liblua.a lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o lbitlib.o lcorolib.o ldblib.o liolib.o lmathlib.o loslib.o lstrlib.o ltablib.o loadlib.o linit.o  
  39. ranlib liblua.a  
  40. gcc -O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX    -c -o lua.o lua.c  
  41. lua.c:67:31: error: readline/readline.h: No such file or directory  
  42. lua.c:68:30: error: readline/history.h: No such file or directory  
  43. lua.c: In function ‘pushline’:  
  44. lua.c:271: warning: implicit declaration of function ‘readline’  
  45. lua.c:271: warning: assignment makes pointer from integer without a cast  
  46. lua.c: In function ‘loadline’:  
  47. lua.c:301: warning: implicit declaration of function ‘add_history’  
  48. make[2]: *** [lua.o] Error 1  
  49. make[2]: Leaving directory `/usr/local/lua/src'  
  50. make[1]: *** [linux] Error 2  
  51. make[1]: Leaving directory `/usr/local/lua/src'  
  52. make: *** [linux] Error 2  

原因是: 缺少 readline 库的支持

[plain]  view plain copy print ?
  1. yum install -y readline  
  2. yum install -y readline-devel  


然后继续安装:

[plain]  view plain copy print ?
  1. make linux   
  2. make install  

安装完成。

测试Lua:

[plain]  view plain copy print ?
  1. [root@localhost lua]# lua  
  2. Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio  
  3. > print("Hello World!")  
  4. Hello World!  
  5. >   

转自:http://blog.csdn.net/vboy1010/article/details/7801783

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值