当前位置:  开发笔记 > 编程语言 > 正文

编译Lua时"找不到-lreadline"错误

如何解决《编译Lua时"找不到-lreadline"错误》经验,为你挑选了1个好方法。

这应该是一个非常简单的问题 - 我正在尝试在CentOS Linux安装上编译Lua(或者更确切地说是lua-vec,这是一个小变体),我收到以下错误:

[jt@flyboy src]#make linux
make all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"
make[1]: Entering directory `/jt/flyboy/fly/lua/lua-vec/src'
gcc -o lua  lua.o liblua.a -lm -Wl,-E -ldl -lreadline -lhistory -lncurses
/usr/bin/ld: cannot find -lreadline
collect2: ld returned 1 exit status
make[1]: *** [lua] Error 1

这表明没有安装readline lib.但...

[jt@flyboy src]#ls /usr/lib/libreadline*
/usr/lib/libreadline.so.5  /usr/lib/libreadline.so.5.1

有趣的是,如果我重新排列readline/history/ncurses的顺序,那么首先会触发相同的错误,所以我怀疑这是某种文件夹规范问题,而不是缺少库问题.

有任何想法吗?


yum install readline-devel.x86_64 readline-devel.i386 ncurses-devel.i386 ncurses-devel.x86_64  

似乎已经成功了!奇怪的是我之前没有这些文件编译过这个...但是有足够的时间思考生活的神秘......



1> mcandre..:

libreadline是不够的,它会给你与readline相关的库.您需要libreadline-dev编译包依赖readline于上述情况.

在像发行版这样的Red Hat中,包的名称是 readline-devel

以下命令将在这样的环境中完成:

libreadline


或者在CentOS上使用readline-devel.`yum install readline-devel`
推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有