gdbus库名称是什么?技术找到了吗?

saz*_*azr 1 c linux glib

使用Bluez gdbus.h函数需要包括哪些库?我在函数中遇到很多undefined reference错误,gdbus.h因此显然我缺少一个库。

*是否有办法(在终端还是其他方式)找出头文件使用的库?例如; 我可以使用找到头文件所在的位置locate gdbus.h。有没有办法找出我gdbus.h需要的库?

我目前pkg-config是:

pkg-config --cflags gio-2.0 dbus-glib-1 dbus-1 glib-2.0 gthread-2.0
pkg-config --libs gio-2.0 dbus-glib-1 dbus-1 glib-2.0 gthread-2.0

有了这个,我得到了许多未定义的引用,例如:

agent.c:100:对'g_dbus_send_reply'
代理的未定义引用.c:104:对'g_dbus_send_reply'
代理的未定义引用.c:107:对'g_dbus_send_error'的未定义引用

我缺少什么图书馆?

nem*_*equ 5

gdbus函数是gio库的一部分,因此该gio-2.0包正是您想要的。

gdbus/gdbus.h找不到原因是它不存在。我什至没有一个提供gdbus.h更小的包装gdbus/gdbus.h。要包含的正确文件是gio/gio.h,它将包含整个gio库的所有必要标头,包括22个gdbus。

摆脱dbus-glib-1; 不推荐使用(建议使用gdbus)。如果您的代码使用gdbus,则不太可能还需要dbus-glib。