Welche Bibliothek muss ich verwenden, um Bluez gdbus.h
Funktionen zu verwenden? Ich bekomme viele undefined reference
Fehler für gdbus.h
Funktionen, so dass ich offensichtlich eine Bibliothek vermisse.Wie lautet der Name der gdbus-Bibliothek? Technik um es zu finden?
* Gibt es eine Möglichkeit (im Terminal oder anders) kann ich herausfinden, welche Bibliothek eine Header-Datei verwendet? Beispielsweise; Ich kann finden, wo sich eine Headerdatei befindet, indem Sie locate gdbus.h
verwenden. Gibt es eine Möglichkeit, herauszufinden, welche Bibliothek benötigt gdbus.h
?
Mein aktueller pkg-config
ist:
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
Damit ich viele undefinierte Referenzen wie bekommen:
agent.c:100: undefined reference to 'g_dbus_send_reply'
agent.c:104: undefined reference to 'g_dbus_send_reply'
agent.c:107: undefined reference to 'g_dbus_send_error'
Welche Bibliothek bin ich dabei?
Was ist die Ausgabe dieser 'pkg-config' Befehle mit' gio-2.0' alleine? –
@ChronoKitsune Wenn ich nur 'gio-2.0' benutze, bekomme ich den Kompilierfehler' fataler Fehler: gdbus/gdbus.h: Keine solche Datei oder Verzeichnis' –
Wie hast du BlueZ installiert? GDBus ist nicht von DBus, es ist eine Datei, die von BlueZ-Entwicklern IIRC geschrieben wurde, um Hilfs-/Wrapper-Funktionen bereitzustellen. Im Header sieht man deutlich, dass es auf glib.h und dbus/dbus.h ankommt. glib kommt von GIO iirc. Gdbus.h ist in der Quelle von BlueZ. Nicht irgendwo in einem Paket. – Zimano