Build Your Own Lisp chapter4的小错误 error: editline/history.h: No such file or directory的解决

13 篇文章 0 订阅

链接 editline 并编译

如果你使用前面我们提供的命令行来编译这个程序,你会得到类似于下面的错误,因为在使用之前,你必须先在电脑上安装 editline 库。

fatal error: editline/readline.h: No such file or directory #include <editline/readline.h>

在 Mac 上,editline 包含在 Command Line Tools 中,安装方法我们在第二章有说明。安装完后,可能还是会出现头文件不存在的编译错误。这时,可以移除 #include <editline/history.h> 这行代码,再试一次。

在 Linux 上,可以使用 sudo apt-get install libedit-dev 来安装 editline。在 Fedora 上,使用 su -c "yum install libedit-dev*" 命令安装。

一旦你安装好了 editline,你可以再次编译试一下。然后将会得到如下的错误:

undefined reference to `readline'
undefined reference to `add_history'

这是因为没有将 editline 链接到程序中。我们需要使用 -ledit 标记来完成链接,用法如下:

cc -std=c99 -Wall prompt.c -ledit -o prompt

再次运行程序,就可以自由地编辑输入的文字了!

为什么我的程序还是不能编译?

在有些系统上,editline 的安装、包含、链接的方式可能会有些许差别,请善用搜索引擎哦。


prompt.c:5:30: error: editline/history.h: No such file or directory

google后发现错误的解决方案,删除头文件 editline/history.h

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值