一、安装
lua 下载首页,lua 文档地址,当前最新版本为 5.3.4 。
|
1 2 3 4 5 |
wget https://www.lua.org/ftp/lua-5.3.4.tar.gz tar -zxvf lua-5.3.4.tar.gz cd lua-5.3.4 make linux test make install |
编译 lua 的时候报错头文件找不到:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[root@centos lua-5.3.4]# make linux test cd src && make linux make[1]: Entering directory `/home/ma/software/lua-5.3.4/src' make all SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline" make[2]: Entering directory `/home/ma/software/lua-5.3.4/src' gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX -c -o lua.o lua.c lua.c:82:31: error: readline/readline.h: No such file or directory lua.c:83:30: error: readline/history.h: No such file or directory lua.c: In function 『pushline』: lua.c:312: warning: implicit declaration of function 『readline』 lua.c:312: warning: assignment makes pointer from integer without a cast lua.c: In function 『addreturn』: lua.c:339: warning: implicit declaration of function 『add_history』 make[2]: *** [lua.o] Error 1 make[2]: Leaving directory `/home/ma/software/lua-5.3.4/src' make[1]: *** [linux] Error 2 make[1]: Leaving directory `/home/ma/software/lua-5.3.4/src' make: *** [linux] Error 2 |
解决方法
|
1 2 3 4 |
# centos yum install readline-devel # debian apt-get install libreadline-dev. |
问题原因
运行应用的目录和 lua 文件不在同一个目录,.lua 文件所在的目录是当前所在的目录而不是程序所在目录。
|
1 2 3 4 5 6 7 8 9 |
ma@ubuntu:/data/code/lua/2-lua 和 c++/cpp-lua$ tree . ├── debug │ └── app ├── lib.lua ├── main.cpp └── Makefile 1 directory, 6 files |
app 在当前目录下的 debug 目录下,在当前目录下执行./debug/app 可以成功读取到 lib.lua,但是在 debug 目录下执行./app 就会报错。
安装 vim8.0 可以先参考页面升级安装 vim8.0 并添加插件支持。
LuaJIT 下载页面:luajit.org,Lua 下载页面:lua.org 。
|
1 2 3 4 5 |
wget https://www.lua.org/ftp/lua-5.3.4.tar.gz tar -zxvf lua-5.3.4.tar.gz cd lua make linux test make install |