C 如何正确引用GNU readline库来扫描终端输入?

C 如何正确引用GNU readline库来扫描终端输入?,c,unix,gnu,readline,C,Unix,Gnu,Readline,我试图编译在GNU readline中使用以下代码的C代码 #include <readline/readline.h>; #include <readline/history.h>; 到目前为止,我无法解决此错误。我的代码或调用gcc时遗漏了什么?听起来您没有安装libreadline开发库。在Debian(包括FreeBSD端口)上,库位于/lib中,开发库(您将链接到的)位于/usr/lib中 此外,include后面还有分号,这是不应该有的。在UNIX下编译时,

我试图编译在GNU readline中使用以下代码的C代码

#include <readline/readline.h>;
#include <readline/history.h>;

到目前为止,我无法解决此错误。我的代码或调用gcc时遗漏了什么?

听起来您没有安装libreadline开发库。在Debian(包括FreeBSD端口)上,库位于/lib中,开发库(您将链接到的)位于/usr/lib中


此外,include后面还有分号,这是不应该有的。

在UNIX下编译时,我发现以下内容对于正确引用GNU readline库是必要的:

gcc code.c -L/usr/local/lib -I/usr/local/include -lreadline

这可以确保编译器在编译和链接过程中找到读线目录和文件。

我在问题中忘了提到库确实正确安装并位于路径/usr/local/include.Yeah下,从您的回答中,我看到它被安装到了/usr/local/lib,而默认库路径中没有包含它(通常先选中/usr/local)。
/var/tmp//ccNnucSC.o(.text+0x4f): In function `main':
: undefined reference to `readline'
collect2: ld returned 1 exit status
gcc code.c -L/usr/local/lib -I/usr/local/include -lreadline