gpt4 book ai didi

c - 在尝试编译 BluezTools 时到处都是 undefined reference ?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:56:01 24 4
gpt4 key购买 nike

我正在尝试使用以下命令编译 BluezTools:

./autogen.sh && ./configure && make

这是输出的一个片段:

obextransfer.c:(.text+0x4d5): undefined reference to `g_type_check_instance_cast'
obextransfer.c:(.text+0x4f1): undefined reference to `dbus_g_proxy_disconnect_signal'
obextransfer.c:(.text+0x4fd): undefined reference to `g_object_unref'
obextransfer.c:(.text+0x50a): undefined reference to `g_free'
obextransfer.c:(.text+0x517): undefined reference to `g_object_unref'
obextransfer.c:(.text+0x528): undefined reference to `g_type_check_class_cast'
lib/obexd/obextransfer.o: In function `obextransfer_cancel':
obextransfer.c:(.text+0x56a): undefined reference to `g_type_check_instance_is_a'
obextransfer.c:(.text+0x58a): undefined reference to `g_assertion_message_expr'
lib/obexd/obextransfer.o: In function `obextransfer_get_dbus_object_path':
obextransfer.c:(.text+0x5e2): undefined reference to `g_type_check_instance_is_a'
obextransfer.c:(.text+0x602): undefined reference to `g_assertion_message_expr'
lib/obexd/obextransfer.o: In function `_obextransfer_get_property':
obextransfer.c:(.text+0x64f): undefined reference to `g_type_check_instance_cast'
obextransfer.c:(.text+0x660): undefined reference to `g_type_name'
obextransfer.c:(.text+0x66f): undefined reference to `g_type_name'
obextransfer.c:(.text+0x6a3): undefined reference to `g_log'
lib/obexd/obextransfer.o: In function `progress_handler':
obextransfer.c:(.text+0x4af): undefined reference to `g_signal_emit'
lib/obexd/obextransfer.o: In function `obextransfer_cancel':
obextransfer.c:(.text+0x5ad): undefined reference to `dbus_g_proxy_call'
lib/obexd/obextransfer.o: In function `obextransfer_get_dbus_object_path':
obextransfer.c:(.text+0x619): undefined reference to `dbus_g_proxy_get_path'
lib/obexd/obextransfer.o: In function `_obextransfer_get_property':
obextransfer.c:(.text+0x6e7): undefined reference to `g_value_set_string'
collect2: error: ld returned 1 exit status
make[2]: *** [bt-monitor] Error 1
make[2]: Leaving directory `/home/[]/Downloads/bluez-tools-bluez-tools/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/[]/Downloads/bluez-tools-bluez-tools

这是我第一次尝试在 Linux 上构建 C 项目,我哪里出错了?

运行 Linux Mint 15 Olivia 64 位。

最佳答案

您是否安装了 bluez 和 obexd? https://code.google.com/p/bluez-tools/#Requirements您可以检查 ./configure 的输出是否有任何错误。通常有一个 configure.log 或类似于 grep 的错误。

我不知道 Mint 包管理,但您可能至少需要某种 obex*-dev 包或自己安装 obex 源。

编辑 编辑以回答评论。

我认为 obexd-client 不够用,但试试这个方法看看是否够用。否则,您需要寻找一些 -dev 包,例如 libglib2.0-cil-dev libglib2.0-devlibdbus-glib-1-dev。 (这些是 Ubuntu 上的名称)。

这是我编译它的方式(尽管仍然发出警告)。

  1. 为 glib 和 dbus 安装一堆 -dev 包(ddg/google 链接失败的函数,这样你就可以看到它们来自哪些库)。

  2. 执行pkg-config --libs --cflags dbus-1 dbus-glib-1 glib-2.0

  3. 在 ./configure 中使用命令的输出,例如:env LIBS="-I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -ldbus-glib-1 -ldbus-1 -lgobject-2.0 -lglib-2.0"./configure

  4. 执行make

另见这个问题:Compilation error dbus-ping-pong

关于c - 在尝试编译 BluezTools 时到处都是 undefined reference ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18878482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com