gpt4 book ai didi

无法加载 pppd 共享库 - undefined symbol g_string_sized_new

转载 作者:行者123 更新时间:2023-11-30 17:51:27 25 4
gpt4 key购买 nike

我已经编译了共享库(pppd 插件),没有错误或警告,但是当 pppd 尝试加载此插件时,它失败并显示“ undefined symbol g_string_sized_new”消息。

插件源代码可以在这里找到:https://raw.github.com/openshine/ModemManager/master/test/mm-test-pppd-plugin.c

要编译共享库,我使用以下命令:

gcc -fPIC -c ./mm-test-pppd-plugin.c -o mm-test-pppd-plugin.o `pkg-config --cflags --libs glib-2.0`
gcc -shared -o ./mm-test-pppd-plugin.so ./mm-test-pppd-plugin.o

我发现这个 g_string_sized_new 应该在 GLib 中。据我了解,它应该在系统范围内可用?

操作系统:Ubuntu 13.04

有什么想法可能是错误的吗?提前致谢!

最佳答案

编译不是链接,链接也不是编译。

在第一行,您将调用编译器,以便将 C 源文本编译为目标代码。这里向 pkg-config 提供 --libs 标志是完全多余的,纯编译器无法对库执行任何操作。

但是,在第二行,您尝试使用链接器将生成的目标文件链接为正确的可执行文件,但现在缺少 命令行末尾的 pkg-config --libs - 链接器需要知道要链接的库,以便能够解析符号。

Long story short, read this.

关于无法加载 pppd 共享库 - undefined symbol g_string_sized_new,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16728791/

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