Пропавшие без вести readline библиотека при использовании делают

Я пытаюсь скомпилировать ncmpcpp, и когда я добираюсь до издания сделать команды, я получаю несколько ошибок, таких как:

/home/[myname]/ncmpcpp/src/window.cpp:329: undefined reference to `rl_bind_key'
/home/[myname]/ncmpcpp/src/window.cpp:144: undefined reference to `rl_point'
/home/[myname]/ncmpcpp/src/window.cpp:729: undefined reference to `readline'

И так далее. Кажется, что проблема с readline библиотеками и libreadline-dev пакетом, но я уже установил его от официального repos, и у меня есть файл/usr/include/readline/readline.h, который ncmpcpp включает в "window.cpp", таким образом, я действительно не понимаю то, что происходит здесь.

0
задан 15 January 2015 в 15:48

2 ответа

Вы работали ./autogen.sh, как описано руководство ?

0
ответ дан 6 October 2019 в 04:22

Make-файл (вероятно), повреждается, это, кажется, не связывает readline. Я заставил это работать путем добавления -lreadline кому: LDFLAGS. Так, сделайте это:

- найдите строку, которая запускается с LDFLAGS в

/home/[myname]/ncmpcpp/Makefile

И

/home/[myname]/ncmpcpp/src/Makefile

Вот тот, который я нашел:

 LDFLAGS =  -lboost_filesystem -lboost_system -lboost_locale -lboost_program_options -lboost_regex -lboost_thread -lmpdclient  -lpthread -lncursesw -ltinfo -L/usr/lib/x86_64-linux-gnu -lcurl

Должна быть близкая строка 260 в /ncmpcpp dir и 225 в /ncmpcpp/src.

Затем добавьте

-lreadline

к нему, где-нибудь где другие библиотеки. У меня есть он промежуточный -lmpdclient и -lpthread, так, чтобы это стало

LDFLAGS =  -lboost_filesystem -lboost_system -lboost_locale -lboost_program_options -lboost_regex -lboost_thread -lmpdclient -lreadline -lpthread -lncursesw -ltinfo -L/usr/lib/x86_64-linux-gnu -lcurl

После этого просто make и надежда на лучшее, и если это работает, продолжите согласно инструкциям.

Всего наилучшего

0
ответ дан 6 October 2019 в 04:22

Другие вопросы по тегам:

Похожие вопросы: