致命错误
我正在编写makeyourownlisp,其中必须将editline/readline.h和editline/history.h添加到程序中。以下是代码片段
#include<stdio.h>
#include<stdlib.h>
#include<editline/readline.h>
#include<editline/history.h>
static char input[2048];
int main(int argc, char** argv)
{
printf("CLISP version 1.02\n");
printf("Ctrl + c to exit\n");
while(1)
{
char * input = readline(">>> \n");
add_history(input);
printf("%s", input);
free(input);
}
}我已经安装了libedit-20170329-3.1.(包含上面提到的头文件),但是如何使用这些文件并获得代码滚动是我需要帮助的东西。
发布于 2020-11-19 23:29:27
在Debian Buster 10上,我必须使用以下命令安装软件包:
sudo apt install libeditline-dev 而不是:
#include <editline/readline.h>
#include <editline/history.h>我只是包含了:
#include <editline.h>使用-leditline标志运行程序,并且工作正常。请注意,我正在为Windows和UNIX系统执行可移植程序。按照本教程的要求,我的代码片段将如下所示:
// otherwise include the editline headers
#else
#include <editline.h>
#endif希望这能帮上忙。顺便说一句,很棒的教程。
发布于 2021-06-17 17:52:24
我在ubuntu 18.04版本中遇到了这个问题,安装以下软件包对我很有效
sudo apt install libeditline-dev
sudo apt-get install libedit-dev我指的是以下线程Readline-Issue
发布于 2020-05-18 08:41:53
来自未来的答案。
我也在做同样的教程。在这一点上我也被卡住了。然后移除#include<editline/history.h>解决了我的问题。
多亏了那个线程https://github.com/fabianishere/brainfuck/issues/57
附注:我正在使用Archlinux
https://stackoverflow.com/questions/43703874
复制相似问题