簡體   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