是啥取代了使用 BlueZ 进行 C 编程的 libbluetooth1-dev?

Posted

技术标签:

【中文标题】是啥取代了使用 BlueZ 进行 C 编程的 libbluetooth1-dev?【英文标题】:What replaced libbluetooth1-dev for C programming using BlueZ?是什么取代了使用 BlueZ 进行 C 编程的 libbluetooth1-dev? 【发布时间】:2016-11-06 07:07:58 【问题描述】:

我正在尝试在 Linux 上使用 BlueZ 在 C 中开发一个蓝牙项目,我正在按照教程进行指导,但它已经有几年历史了,我认为它使用的库现在已被弃用 (libbluetooth1-dev )。

Here 是教程,该部分中的编译行需要库 bluetooth在这个错误中:

Package bluez-utils is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  bluez

E: Unable to locate package libbluetooth1-dev
E: Package 'bluez-utils' has no installation candidate

任何帮助将不胜感激。

【问题讨论】:

它很旧,但您可以从发行版的存档镜像中获取它,正如您所写的那样。所以设置镜像。 哦,正如消息所述,您可以尝试使用 bluez 包。 @Koshinae 我安装了 bluez,但我不知道如何在我的程序中使用它 - 教程说要在编译命令中添加 -lbluetooth,但这对我不起作用我认为这是由于这个原因。我尝试了-lbluez 和变体但没有成功。此外,我对使用已弃用的库的假设是它被弃用是有原因的,我想该功能在替代品中的某个地方。 官方支持的接口是bluez DBUS APIs。开始使用它有点学习曲线,但建议这样做。如果您真的想使用 libbluetooth,那么最好从源代码构建它。 【参考方案1】:

在找到another *** question 后,我设法对其进行了整理-我需要运行apt-get install libbluetooth-dev(而不是教程中所说的libbluetooth1-dev),然后按照说明进行编译。 apt-get 安装了libbluetooth-devlibbluetooth3,这是当前版本的libbluetooth。

【讨论】:

以上是关于是啥取代了使用 BlueZ 进行 C 编程的 libbluetooth1-dev?的主要内容,如果未能解决你的问题,请参考以下文章

Bluez 编程

dbus 上 C 上的 Bluez 编程

使用 bluez 5.43 和 DBus 从 BLE 传感器读取广告数据包的正确方法是啥

Linux 上 C blueZ 中的蓝牙配对

如何通过 BlueZ C 库执行蓝牙低功耗扫描

BlueZ 与 Bluedroid 蓝牙堆栈