Bluetooth Low Energy in C - mit Bluez einen GATT-Server erstellen

Ich versuche, GATT auf meiner Linux-Box zu verwenden, um einen benutzerdefinierten Dienst mit zahlreichen Merkmalen einzurichten.

Usingdiese Frag und die, auf die es verweist, konnten den Code identifizieren, den ich schreiben musste (unter Verwendung desgatt_service_add() Funktion).

Ich habe eine separate Datei mit dem Namen gatt_service.c erstellt und den Code geschrieben, den ich für nötig halte. Ich kann jedoch nicht herausfinden, wie ich meinen Code mit den Bluez-Bibliotheken verknüpfen kann, um meine Lösung zu kompilieren und auszuführen. Zum BeispielDiese Seit (obwohl nicht für die BLE-Entwicklung) Links gegen libbluetooth mit-lbluetooth als gcc-Parameter, und ich kann nicht herausfinden, womit ein Link erstellt werden soll, damit mein Code funktioniert.

Ich habe keine Beispiele gepostet, da ich mir nicht sicher bin, was ich posten soll. Wenn eines erforderlich ist oder ich etwas nicht erwähnt habe, lass es mich wissen.

Danke im Voraus

EDIT - weitere Informationen:

Den Kommentaren folgend habe ich Plugins / time als Basis verwendet, um meine eigene Datei für meinen eigenen "Broadcaster-Dienst" zu schreiben. Vollständiger Code gefunden:Hie (Ich weiß nicht, welchen Teil des Codes ich in die Antwort einfügen soll!).

Mein Kompilierungsbefehl lautet:gcc gatt_broadcaster_service.c -Wall -o gatt_broadcaster_service -lbluetooth 'pkg-config --cflags --libs glib-2.0' -I/home/alexander/Documents/bluez-5.29/lib (einschließlich des glib-Bits zur Behebung des gemeldeten ProblemsHie).

Der Fehler, den ich erhalte, ist: gatt_broadcaster_service.c: 11: 27: schwerwiegender Fehler: lib / bluetooth.h: Keine solche Datei oder Verzeichnis #include "lib / bluetooth.h"

Meine C-Datei ist in Documents gespeichert, und meine Recherche hat ergeben, dass lib / bluetooth.h nicht gefunden werden kann, da sie nicht an der richtigen Stelle angezeigt wird Die undDie Sprechen Sie über die Verwendung von Include-Flags für den Compiler, wenn sich eine Datei nicht an den allgemeinen Speicherorten befindet, dies jedoch nicht funktioniert.

Danke noch einmal

Antworten auf die Frage(8)

Ihre Antwort auf die Frage