lua:编译 lua 报错:error: readline/readline.h: no such file or directory-尊龙官方平台

lua:编译 lua 报错:error: readline/readline.h: no such file or directory

el/2024/3/25 16:52:29

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

安装 readline-devel 尝试:

yum install -y readline-devel

重新编译:

[test1280@localhost lua-5.3.5]$ make linux

编译成功。


注:

1.

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

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

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

2.

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

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


http://www.ngui.cc/el/5127095.html

相关文章

lua:linux 平台编译 lua 为动态链接库

lua:linux 平台编译 lua 为动态链接库 在 lua 源码的 makefile 中,没有编译动态链接库的目标(tagete),只可编译为静态库。 如何将 lua 编译为动态链接库呢? 仔细研究下 lua 的 makefile 文件,…

makefile:变量定义的优先级

makefile:变量定义的优先级 makefile 中使用的变量有三个定义来源: 1. environment: 当执行 make 的 shell 进程的环境表中定义相关变量(export)。 或者说 make 进程环境变量表,因为 make 进程是 shel…

lua:开源库 lua-cjson 安装及使用

lua:开源库 lua-cjson 安装及使用 开源库 lua-cjson 是一个简单小巧的动态库,可被 lua 脚本 require 加载。 在 lua 中通过一系列的 lua-cjson api 调用完成 lua 值与 json 值的相互转换(编码及解码)。 注:lua-cjso…

lua:lua-cjson:cannot serialise table: excessively sparse array

lua:lua-cjson:cannot serialise table: excessively sparse array code: local cjson require "cjson" local cjson2 cjson.new() local array {} array[19] 19 cjson2.encode(array) 执行时异常: cannot seria…

linux:-bash: fork: retry: resource temporarily unavailable

linux:-bash: fork: retry: resource temporarily unavailable 执行命令失败,报错: 原因: 在执行命令 x 过程中有对系统内核提出资源申请,而当前用户占用的某种资源已达到系统限定上限,资源不足。 复现&a…

c/c :udp ipv4 ipv6 客户端 服务端 简例

c/c:udp ipv4 ipv6 客户端 & 服务端 简例 客户端: /*********************************************************** * * filename : client.c * last revision : revision: 1.0 * last date : date: 2018/08/08 * author …

摘要算法:md5 及 java 实现样例

摘要算法:md5及java实现样例 md5 第五代的消息摘要算法(message digest algorithm)。 md5 是一种不可逆的单向散列函数。 假设 y f(x) ,则函数 f(x) 指代 md5 函数, x 为待摘要消息(输入)&…

摘要算法:sha 及 java 实现样例

摘要算法:sha 及 java 实现样例 相关链接:摘要算法:md5及java实现样例 sha 安全散列算法(secure hash algorithm)。 sha 与 md5 类似,都是单向不可逆散列函数,用于计算消息摘要,…

java:设置 eclipse 关联 jar 包源码

java:设置 eclipse 关联 jar 包源码 在 eclipse 中进行 java 开发,当我们想要查看某类的某个方法实现时可以同时按住 ctrl 并点击方法,即可查看源码。 但通常情况下,可以直接定位查看到的是工程包括的 java 类,而找不…

摘要算法:使用 openssl 实现 md5、sha256 等

摘要算法:使用 openssl 实现 md5、sha256 等 相关链接: 摘要算法:md5 及 java实现样例 摘要算法:sha 及 java 实现样例 本文主要介绍如何使用 openssl 库实现 md5、sha256 摘要算法。 case 1:md5 #include
网站地图