当前位置: 首页 > C, C/C++ > 正文

readline( )库的安装和使用,实现命令补全

之前自己实现一个简单shell 的时候,想要实现命令行自动补全功能,于是上网查了查资料,发现多数都提到了

readline( ) 库,经过仔了解后,发现其实bash 的底层实现也是调用了这个库,我的系统是 fedora 21 并没有安装这个库,且man page 中也没有相关信息,(Q:bash 调用的谁呢?)不管那末多,先无脑安转吧,边安转边看情况吧(把我害惨了。。。。。。)

              首先平直觉 yum install readline 

              但是得到了这样的信息:

                    

提示我readline软件包已经安装。。。。。。。但是/usr/include下根本没有这个库好吗?于是又去查了查资料,

发现需要安装libreadline 但是由于版本问题又折腾了半天。

redhat 系列下这个软件包叫  readline-devel     ubuntu 下叫readline-dev    细分又分为libreadline5-dev   和 libreadline6-dev

                      

于是安装yum install readline-devel  成功

在/usr/include 下已经有了

                       

开始引用头文件

如图已经引用OK ,开始编译吧,迫不及待了。。。。。。。。。。。

按这个库已经花费一天半时间


这是什么鬼,是不是Makefile 有问题? 赶紧上Makefile\

我已经链接了readline 这样?????????????????????????????????

  于是有开始查资料发现了这个

 ldconfig -p | grep readline

这是一个库文件所以需要查看一下是否有这个库,如果是一个动态库那么就需要在链接的时候将这个动态库加入。

发现这就是一个动态库(不幸被我猜中)


然后只要加上这个库OK 

                                  然后make OK !

                           我的my_shell 已经有自动补全功能了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

]]>

本文固定链接: http://zmrlinux.com/2015/07/25/readline-%e5%ba%93%e7%9a%84%e5%ae%89%e8%a3%85%e5%92%8c%e4%bd%bf%e7%94%a8%ef%bc%8c%e5%ae%9e%e7%8e%b0%e5%91%bd%e4%bb%a4%e8%a1%a5%e5%85%a8/ | Kernel & Me

该日志由 root 于2015年07月25日发表在 C, C/C++ 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: readline( )库的安装和使用,实现命令补全 | Kernel & Me
【上一篇】
【下一篇】