Verlinkungsfehler:undefinierter Verweis auf „avahi_alternative_service_name“
-
13-12-2019 - |
Frage
Ich weiß, dass ich dieses Symbol in der Bibliothek finden muss.Ich versuche, Avahi-basierten Testcode zu kompilieren, um Dienste anzuzeigen.Aber ich bekomme undefined reference to
avahi_alternative_service_name''..Ich weiß nicht, welche Bibliothek das enthält, ich verwende UBUNTU 12.04.Ich habe versucht, mehrere Pakete zu installieren, aber ohne Erfolg.Jede Idee danke ..
Ich habe folgende Pakete installiert
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
Befehl
gcc -fpermissive testAvahi.c -o testAvahi
Lösung
Eigentlich mussten Bibliotheken gefunden und dann an den Linker übergeben werden. Der folgende Befehl hat also für mich funktioniert
gcc -fpermissive testAvahi.c -o testAvahi -L/usr/lib/x86_64-linux-gnu/ -lavahi-client -lavahi-common
Andere Tipps
Wenn Sie einen gemeinsamen Ordner haben, in dem Sie Ihre C ++ - Bibliotheken platzieren
cd /usr/lib
nm -AC * | grep avahi_alternative_service_name
Das nm-Dienstprogramm ist in binutils verfügbar (sudo apt-get install binutils).