C- Readline() undefined reference

标签 c

我正在尝试运行此代码,但编译器失败:对“readline”的 undefined reference 和对“add_history”的 undefined reference 。我正在使用 CodeBlocks。这是我的代码:

#include <stdio.h>
#include <stdlib.h>

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

int main()
{
    char *buf;



    while((buf = readline("\n >> "))!=NULL)
    {
        if (strcmp(buf,"quit")==0)
            break;

        printf("[%s]\n",buf);

        if (buf[0]!=0)
            add_history(buf);
    }

    free(buf);

    return 0;
}

最佳答案

好的,只需确保安装了 readline 的开发文件,您需要以 root 用户身份运行它

# apt-get install libreadline-dev

正如评论中提到的那样。

接下来,转到Project->Build Options 菜单,弹出一个对话框 Build Options Dialog

然后转到链接器设置选项卡Linker Settings Tab

现在只需单击添加 按钮,然后在弹出的对话框中输入readline enter image description here

单击Ok,然后尝试构建,它应该可以工作。

关于C- Readline() undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27493708/

相关文章:

c - 未指定芯片名称;使用 "PICC18 --CHIPINFO"

c++ - "group"设置中的套接字?

c - 在 C 中使用 fgets 进行乘法运算

c - 不同文件中的相同函数返回不同的结果

windows - 在c/c++中使用检查函数编译Windows NT命令行代码循环

c - GPU_FFT : in unmpamem: control reaches end of non-void function

C-将子链表传递给函数

c++ - 为什么 C 和 C++ 支持在结构中按成员分配数组,但通常不支持?

c++ - 在 C++ 多线程程序中使用指向局部变量的指针

c - 需要像 read() 这样的函数将整数数据读入缓冲区并获得与 read() 相同的缓冲区值