Error de enlace: referencia indefinida a `avahi_alternative_service_name '
-
13-12-2019 - |
Pregunta
Al saber que necesito localizar este símbolo en la biblioteca. Estoy tratando de compilar el código de prueba basado en AVAHI para ver los servicios.Pero estoy recibiendo undefined reference to
avahi_alternative_service_name'` .. No sé qué biblioteca contiene esto, estoy ejecutando Ubuntu 12.04.Intenté instalar varios paquetes, pero no hay éxito ... alguna idea
Gracias ...
Tengo los siguientes paquetes instalados
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
comando
gcc -fpermissive testAvahi.c -o testAvahi
Solución
en realidad necesitaba localizar bibliotecas y luego necesitaba pasarlos al enlazador, por lo que el comando follwing funcionó para mí
gcc -fpermissive testAvahi.c -o testAvahi -L/usr/lib/x86_64-linux-gnu/ -lavahi-client -lavahi-common
Otros consejos
Si tiene una carpeta común donde coloca sus bibliotecas de C ++, puede verificar la búsqueda de la función con el comando nm algo como
cd /usr/lib
nm -AC * | grep avahi_alternative_service_name
La utilidad NM está disponible en Binutils (sudo apt-get install binutils)