неопределенная ссылка на ‘readline’

#c #netbeans

#c #netbeans

Вопрос:

Я пытаюсь использовать библиотеку readline в своем c проекте с помощью netbeans , поэтому я установил libreadline6-dev и добавил ее в свойства моего проекта -> Компоновщик -> Дополнительные каталоги библиотеки -> и добавить (usr/ include/readline).

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

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

Есть идеи.

Спасибо

Комментарии:

1. (Я удалил тег java, поскольку это не имеет никакого отношения к Java, кроме того, что Netbeans написан на Java.)

2. Я сделал это просто для того, чтобы иметь больше зрителей 😉

3. Это, мягко говоря, невнимательно. Люди, которые следуют тегам [java] и [c #], делают это, потому что их интересуют вопросы о Java и C #. Возможно, вы привлекли несколько дополнительных людей для просмотра этого вопроса, но эти люди почти наверняка не те, кто действительно может ответить на него: люди, которые могут ответить на него, уже следуют тегу [c ].

Ответ №1:

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

Здесь необходимо указать библиотеку (readline):

Свойства проекта -> Сборка -> Компоновщик -> Библиотеки.

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

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

Но, как сказал нос, это не каталог include.Включаемый каталог — это заголовки библиотеки (.h).

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

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

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