我正在努力使https://code.google.com/p/bluez-tools/。配置似乎已经找到了标头。我安装了 obexd-client 软件包和 BlueZ 4.101。
这是我编译 Linux C 应用程序的第一次实验。
为什么不能编译?
obexclient_session.c:(.text+0x202): undefined reference to `g_free'
obexclient_session.c:(.text+0x20e): undefined reference to `g_object_unref'
obexclient_session.c:(.text+0x21b): undefined reference to `g_free'
obexclient_session.c:(.text+0x228): undefined reference to `g_object_unref'
obexclient_session.c:(.text+0x239): undefined reference to `g_type_check_class_cast'
答案1
你缺少图书馆。您需要确保:
您已拥有所需的库
bluez
并obexd
已安装在您的系统上。$ sudo apt-get install libbluetooth-dev libopenobex1-dev libopenobex1
笔记:可能还有其他的,但这些似乎是显而易见的。您可以使用命令查找其他库,
apt-cache search <string>
其中<string>
可以是obex
或 之类的内容bluez
。它们是所需的最低版本:bluez-4.69 和 obexd-0.30。
答案2
似乎缺少 glib(g_free、g_object_unref 等由 glib 提供)
$ sudo apt-get install libglib2.0-dev
在类似 Debian 的系统上