gpt4 book ai didi

linux - 错误 : undefined reference to.。编译 GTK-3.12.2 时的长列表

转载 作者:太空宇宙 更新时间:2023-11-04 10:53:07 26 4
gpt4 key购买 nike

出现 100 多个这样的错误:

./.libs/libgtk-3.so: undefined reference to `g_drive_can_start_degraded'

我已经提供了所有链接器标志,如 -lglib-2.0 -lfreetype 等。我仍然收到这些错误有什么帮助吗?

最佳答案

第一步通常是谷歌。搜索 g_drive_can_start_degraded 以找出它可能在哪个库/项目中。第一个链接从 GIO 返回 GDrive:https://developer.gnome.org/gio/stable/GDrive.html

再往下,它说 glib: gio/gdrive.c

所以看起来这个函数是glib的一部分。让我们找到这个库:

find /usr/lib* -name "libglib*.so*"

如果没有显示任何命中,也可以尝试通常的位置,例如 /lib*/usr/local/lib*

对我来说,它给出了这个列表:

/usr/lib/cli/glib-sharp-2.0/libglibsharpglue-2.so
/usr/lib/vmware-installer/2.1.0/lib/lib/libglib-2.0.so.0
/usr/lib/vmware-installer/2.1.0/lib/lib/libglib-2.0.so.0/libglib-2.0.so.0
/usr/lib/vmware/lib/libglib-2.0.so.0
/usr/lib/vmware/lib/libglib-2.0.so.0/libglib-2.0.so.0
/usr/lib/vmware/lib/libglibmm-2.4.so.1
/usr/lib/vmware/lib/libglibmm-2.4.so.1/libglibmm-2.4.so.1
/usr/lib/vmware/lib/libglibmm_generate_extra_defs-2.4.so.1
/usr/lib/vmware/lib/libglibmm_generate_extra_defs-2.4.so.1/libglibmm_generate_extra_defs-2.4.so.1
/usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1.3.0
/usr/lib/x86_64-linux-gnu/libglibmm_generate_extra_defs-2.4.so.1.3.0
/usr/lib/x86_64-linux-gnu/libglib-2.0.so
/usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
/usr/lib/x86_64-linux-gnu/libglibmm_generate_extra_defs-2.4.so.1

/usr/lib/x86_64-linux-gnu/libglib-2.0.so 看起来是最有希望的候选者。让我们看看里面有什么:

objdump --dynamic-syms /usr/lib/x86_64-linux-gnu/libglib-2.0.so | grep g_drive_can_start_degraded

什么都不返回。也许我的 glib 版本错误(2.x 而不是 3.x)?

但进一步调查显示我还有/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0:

> objdump --dynamic-syms /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 | grep  g_drive_can_start_de
000000000003f080 g DF .text 0000000000000078 Base g_drive_can_start_degraded

好像你在某处遗漏了 -lgio-2.0

如果库没有定义符号但需要它,输出将如下所示:

0000000000000000      DF *UND*  0000000000000000              g_setenv

请注意地址为 0,段为 *UND* 而不是 .text

注意:传递给链接器的库的顺序很重要!链接器将只搜索每个库一次。

关于linux - 错误 : undefined reference to.。编译 GTK-3.12.2 时的长列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29967562/

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