我以前从未遇到过这样的问题.我在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;
}
Run Code Online (Sandbox Code Playgroud)
似乎readline引起了麻烦.一旦我评论出lineptr[i] = readline("Enter a line: \n");它编译好了.但我不明白这里的readline有什么问题......错误是:
体系结构x86_64的未定义符号:"_ readline",引用自:cckHOwOt.o中的_main ld:未找到体系结构x86_64的符号
感谢任何能提出建议的人.谢谢!