Я пытаюсь использовать GATT на своем Linux-ящике, чтобы настроить пользовательскую службу с нагрузкой характеристик.Bluetooth Low Energy in C - использование Bluez для создания сервера GATT
Используя this question, и те, с которыми он ссылается, я смог идентифицировать код, который мне нужно будет написать (используя функцию gatt_service_add()
).
Я создал отдельный файл gatt_service.c и написал код, который, как мне кажется, мне нужен. Тем не менее, я не могу понять, как связать мой код с библиотеками Bluez, чтобы скомпилировать и запустить мое решение. Например, this site (хотя и не для разработки BLE) ссылки на libbluetooth, используя -lbluetooth
как параметр gcc, и я не могу решить, с чем связать, чтобы заставить мой код работать.
Я не размещал никаких образцов, потому что я не уверен, что делать, если есть какие-либо, что требуется, или я ничего не сказал, пожалуйста, дайте мне знать.
Заранее спасибо.
EDIT - дополнительная информация:
После замечания, которые я использовал плагины/время в качестве основы, чтобы написать свой собственный файл для моей собственной «Вещательной службы». Полный код: here (я не знаю, какой бит кода поставить в ответ!).
Моя команда компиляции: 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
(включая бит glib для исправления проблемы, о которой сообщалось here).
Ошибки я получаю: gatt_broadcaster_service.c: 11: 27: фатальная ошибка: Библиотека/bluetooth.h: Нет такого файла или каталога #include "Библиотека/bluetooth.h"
Мой файл C хранится в документах, и мое исследование говорит мне, что он не может найти lib/bluetooth.h, потому что он не ищет нужное место (this и this рассказывают об использовании флажков include для компилятора, когда файл отсутствует в общих местоположениях, но я не могу сделать эту работу.
Еще раз спасибо!
'-lbluetooth' - это правильный способ связи с библиотекой bluetooth ... может быть, если вы разместите какие ошибки вы получаете, когда пытаетесь скомпилировать код, вам может помочь. –
Возможно, вы включили '-lbluetooth' на этапе компиляции, а не в ссылку? –
@TimTisdall - я редактировал свой вопрос, чтобы включить код, команду компиляции и ошибку, которую я получаю. Есть предположения? Благодаря! – Alex