繁体   English   中英

C中的readline不起作用

[英]readline in C doesn't work

我以前从未遇到过这样的问题。 我在Mac上编写简单的C程序,并像往常一样用gcc编译。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <readline/readline.h>
#include <readline/history.h>

#define MAXLINES 5

char *lineptr[MAXLINES];
void writel(char *lineptr[], int nlines);
void quicksort(char *lineptr[], int left, int right);
void swap(char *v[], int i, int j);

/* sort input lines */
int main() {
  int nlines; /* number of lines to read */
  int i = 0;

  /* saves lines in the array lineptr */
  while (i < MAXLINES) {
    lineptr[i] = readline("Enter a line: \n");
    i++;
  }

  quicksort(lineptr, 0, MAXLINES-1);
  writel(lineptr, MAXLINES);
  return 0;
}

似乎readline引起了麻烦。 一旦我注释掉lineptr[i] = readline("Enter a line: \\n"); 编译好了。 但我不明白这里的readline有什么问题......错误是:

体系结构x86_64的未定义符号:“_ readline”,引用自:cckHOwOt.o中的_main ld:未找到体系结构x86_64的符号

感谢任何能提出建议的人。 谢谢!

使用-lreadline编译代码。 当然,您还需要在系统上安装readline-devel软件包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM