Ошибки Editline
Я новичок в языке C и получаю эту ошибку всякий раз, когда я компилирую свой код C с помощью команды cc prompt.c
, Я получаю эту ошибку:
Неопределенные символы для архитектуры x86_64:
"_add_history", ссылка от:
_main in prompt-66f61f.o
"_readline", ссылка с:
_main in prompt-66f61f.o
ld: символы не найдены для архитектуры x86_64
clang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)
Вот мой код:
#include <stdio.h>
#include <stdlib.h>
#include <editline/readline.h>
int main(int argc, char** argv) {
/* Print Version and Exit Information */
puts("Lispy Version 0.0.0.0.1");
puts("Press Ctrl+c to Exit\n");
/* In a never ending loop */
while (1) {
/* Output our prompt and get input */
char* input = readline("lispy> ");
/* Add input to history */
add_history(input);
/* Echo input back to user */
printf("No you're a %s\n", input);
/* Free retrieved input */
free(input);
}
return 0;
}
Я пишу эту программу на Macbook Air под управлением OSX 10.10.3, если это поможет.
Я только начинаю изучать язык Си, поэтому не судите меня, если этот вопрос действительно прост, когда я его искал, результатов не было.
Любая помощь будет принята с благодарностью. Спасибо!
1 ответ
Вам нужно связать свою программу с editline
библиотека для того, чтобы ваш компоновщик мог найти определение readline
а также add_history
функции.
Вы можете сделать это, указав библиотеку с -l
Отметьте в вашей команде компиляции:
cc prompt.c -ledit