【发布时间】:2015-05-21 14:56:36
【问题描述】:
我正在尝试在我的 Linux 机器上使用 GATT 来设置具有大量特征的自定义服务。
使用this question 及其链接的代码,我能够识别出我需要编写的代码(利用gatt_service_add() 函数)。
我创建了一个名为 gatt_service.c 的单独文件,并编写了我认为需要的代码。但是,我无法弄清楚如何将我的代码链接到 Bluez 库以编译和运行我的解决方案。例如,this site(虽然不用于 BLE 开发)使用 -lbluetooth 作为 gcc 参数链接到 libbluetooth,我无法确定要链接到什么来使我的代码工作。
我没有发布任何示例,因为我不确定要发布什么 - 如果有任何需要,或者我没有提及某些内容,请告诉我。
提前致谢。
编辑 - 更多信息:
在 cmets 之后,我使用插件/时间作为基础来为我自己的“广播服务”编写自己的文件。完整代码位于: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(包括用于修复here 报告的问题的 glib 位)。
我得到的错误是:gatt_broadcaster_service.c:11:27: fatal error: lib/bluetooth.h: No such file or directory #include "lib/bluetooth.h"
我的 C 文件存储在 Documents 中,我的研究告诉我它找不到 lib/bluetooth.h,因为它没有找到正确的位置(this 和 this 谈论使用包含标志当文件不在一般位置时编译器,但我无法使其工作。
再次感谢!
【问题讨论】:
-
-lbluetooth是链接蓝牙库的正确方法......也许如果您发布了您在尝试编译代码时遇到的错误,您可能会得到更好的帮助。 -
也许您在编译步骤而不是链接步骤中包含
-lbluetooth? -
@TimTisdall - 我已经编辑了我的问题以包含一些代码、编译命令和我遇到的错误。有什么想法吗?谢谢!
标签: linux bluetooth-lowenergy bluez gatt