неопределенная ссылка на readline - PullRequest
1 голос
/ 08 февраля 2011

Я пытаюсь использовать библиотеку readline в моем проекте c++, используя netbeans, поэтому я установил libreadline6-dev и добавил его в свой проект Свойства -> Linker -> Дополнительные каталоги библиотеки -> и добавил (USR / включать / Readline).

Но при компиляции я получаю эту ошибку: undefined reference to 'readline'.

Я обнаружил, что мне нужно куда-то добавить -lreadline, но я не знаю, где его поставить.

Любые идеи.

Спасибо

1 Ответ

4 голосов
/ 08 февраля 2011

Вы на правильном пути, проблема в том, что вы столкнулись с компоновщиком.

Вы должны указать библиотеку (readline) здесь:

Свойства проекта -> Build -> Linker-> Библиотеки.

, и вам также необходимо указать путь к библиотеке:

Свойства -> Линкер -> Дополнительные каталоги библиотеки

Но, как сказал ни один, этоэто не каталог include. Каталог include - это заголовки библиотеки (.h).

Компоновщику нужен файл с расширением .a в UNIX, он должен находиться в каталоге lib (например, /usr / lib зависит от того, где установлена ​​библиотека).

Если он не работает, убедитесь, что файл [library_directory] /libreadline.a существует

Вам также необходимо связать ncurses с вашимпроект, потому что readline использует его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...