Объявление об ошибке: неопределенная ссылка на `avahi_alternative_service_name '
-
13-12-2019 - |
Вопрос
Знаете, мне нужно найти этот символ в библиотеке .. Я пытаюсь компилировать тестовый код на основе Avahi для просмотра услуг.Но я получаю undefined reference to
avahi_alternatic_service_name'` .. Я не знаю, какая библиотека содержит это, я работаю Ubuntu 12.04.Я пытался установить несколько пакетов, но никаких успехов .. Любая идея
Спасибо ..
У меня установлены следующие пакеты
dpkg --get-selections | grep avahi
avahi-autoipd install
avahi-daemon install
avahi-utils install
libavahi-cil-dev install
libavahi-client-dev install
libavahi-client3 install
libavahi-client3:i386 install
libavahi-common-data install
libavahi-common-data:i386 install
libavahi-common-dev install
libavahi-common3 install
libavahi-common3:i386 install
libavahi-core7 install
libavahi-glib-dev install
libavahi-glib1 install
libavahi-gobject0 install
libavahi-ui-dev install
libavahi-ui-gtk3-0 install
libavahi-ui0 install
libavahi1.0-cil install
.
команда
gcc -fpermissive testAvahi.c -o testAvahi
Решение
На самом деле нужно было найти библиотеки, а затем необходимо пропустить их к линкеру, поэтому команду follwing работала для меня
gcc -fpermissive testAvahi.c -o testAvahi -L/usr/lib/x86_64-linux-gnu/ -lavahi-client -lavahi-common
Другие советы
Если у вас есть общая папка, в которой вы размещаете свои библиотеки C ++, вы можете проверить поиск функции, используя команду NM что-то вроде
cd /usr/lib
.
nm -AC * | grep avahi_alternative_service_name
Утилита NM доступна в Binutils (sudo apt-get install binutils)