Errore di collegamento: riferimento indefinito a `avahi_alternative_service_name"
-
13-12-2019 - |
Domanda
In sapere ho bisogno di individuare questo simbolo in libreria .. Sto cercando di compilare il codice di test basato su AVAHI per visualizzare i servizi.Ma sto ricevendo undefined reference to
avahi_alternative_service_name''`. .. Non so quale libreria lo contenga, sto eseguendo Ubuntu 12.04.Ho provato ad installare diversi pacchetti ma nessun successo .. qualsiasi idea
Grazie ..
Ho i seguenti pacchetti installati
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
Soluzione
effettivamente necessario per localizzare le biblioteche e poi necessario per passarli al linker, quindi il comando follwing ha funzionato per me
gcc -fpermissive testAvahi.c -o testAvahi -L/usr/lib/x86_64-linux-gnu/ -lavahi-client -lavahi-common
Altri suggerimenti
Se si dispone di una cartella comune in cui si posiziona le tue librerie C ++ è possibile verificare la ricerca della funzione utilizzando il comando NM qualcosa come
cd /usr/lib
.
nm -AC * | grep avahi_alternative_service_name
L'utilità NM è disponibile in Binutils (sudo apt-get install binutils)