首页 / 操作系统 / Linux / 使用BlueZ进行蓝牙编程时需要注意的问题
一:不要用到哪个Bluez头文件中定义的内容就只去包含这个头文件。而应该将bluetooth/bluetooth.h最先加入。类似:#include <bluetooth/bluetooth.h> //BTPROTO_HCI
#include <bluetooth/hci.h> //struct hci_dev_info
#include <bluetooth/hci_lib.h> //hci_devid()
#include <bluetooth/l2cap.h> //l2cap
#include <bluetooth/hidp.h> //hidp二:因为Linux 下Bluetooth实现是通过socket来完成的。sa_family_t会被使用。bluetooth/hci.h中就用到了。所以必须在include bluetooth header file之前,include socket header file.
#include <sys/types.h>
#include <sys/socket.h>
否则就会出现类似以下问题:
bluetooth/hci.h:1091: error: expected specifier-qualifier-list before "sa_family_t" 推荐阅读:Linux下Bluetooth编程 http://www.linuxidc.com/Linux/2011-09/43182.htm