0

知道我需要在库中找到这个符号。我正在尝试编译基于 avahi 的测试代码来查看服务。但我得到undefined reference toavahi_alternative_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

4

2 回答 2

2

实际上需要找到库,然后需要将它们传递给链接器,所以下面的命令确实对我有用

gcc -fpermissive testAvahi.c -o testAvahi -L/usr/lib/x86_64-linux-gnu/ -lavahi-client -lavahi-common

于 2012-10-04T10:39:34.247 回答
1

如果您有一个放置 c++ 库的公共文件夹,您可以使用 nm 命令检查搜索功能,例如

cd /usr/lib

nm -AC * | grep avahi_alternative_service_name

binutils 中提供了 nm 实用程序(sudo apt-get install binutils)

于 2012-10-03T17:18:12.963 回答