Lua:编译 Lua 报错:error: readline/readline.h: No such file or directory

Lua:编译 Lua 报错:error: readline/readline.h: No such file or directory

Lua 版本:lua-5.3.5

在 lua-5.3.5 目录中执行 make linux,报错:

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/test1280/lua-5.3.5/src'
make[1]: *** [linux] Error 2
make[1]: Leaving directory `/home/test1280/lua-5.3.5/src'
make: *** [linux] Error 2

重点是:

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

使用 yum search 一下:

yum search readline

Lua:编译 Lua 报错:error: readline/readline.h: No such file or directory_第1张图片

安装 readline-devel 尝试:

yum install -y readline-devel

Lua:编译 Lua 报错:error: readline/readline.h: No such file or directory_第2张图片

重新编译:

[test1280@localhost lua-5.3.5]$ make linux

Lua:编译 Lua 报错:error: readline/readline.h: No such file or directory_第3张图片

编译成功。


注:

1.

缺少 readline 相关的头文件时,可以先使用 yum search 在软件仓库中 search 是否有相关软件。

多个 readline 相关软件,需要安装的是带有 devel 字样的。

Lua:编译 Lua 报错:error: readline/readline.h: No such file or directory_第4张图片

安装无 devel 的非开发包,通常不会自动安装相关 HEAD FILE。

2.

yum 不是唯一安装方式,通过 readline 源码安装一样 OK 。

但在 make 时,应当让编译器能找到 readline 相关的库和 HEAD FILE 在哪里。

你可能感兴趣的:(LUA)