• 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

  • 相关阅读:
    java概述------
    java中有几种方法实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
    java的5个框架,哪个框架更适合你的项目?
    java的热门应用有哪些?
    vue-router 切换页面时怎么设置过渡动画
    Referrer Policy 介绍
    await进行同步操作
    vue中axios拦截器同一项目多域名如何配置
    正规方程求解特征参数的推导过程
    一种网页中显示代码所涉及的字符转义问题的解决方案
  • 原文地址:https://www.cnblogs.com/softidea/p/5246424.html
Copyright © 2020-2023  润新知