gpt4 book ai didi

linux - 共享库中的 undefined symbol

转载 作者:太空狗 更新时间:2023-10-29 11:36:03 25 4
gpt4 key购买 nike

我在 linux 中编译了一个共享库。库生成后。我执行 ldd -r libfoo.so。它带有 undefined symbol 错误

我的错误信息如下

ldd -r libcaffe.so
linux-vdso.so.1 => (0x00007fffdd541000)
/opt/alisentry/$LIB/alisentry_connect.so =>
/opt/alisentry/lib64/alisentry_connect.so (0x00007ff8777bc000)
/opt/alisentry/$LIB/alisentry_exec.so =>
/opt/alisentry/lib64/alisentry_exec.so (0x00007ff8775b8000)
/opt/alisentry/$LIB/alisentry_kill.so =>
...
libc.so.6 => /lib64/libc.so.6 (0x00007ff876291000)
/lib64/ld-linux-x86-64.so.2 (0x0000003671800000)
undefined symbol:
_ZN2cv12mulSpectrumsERKNS_11_InputArrayES2_RKNS_12_OutputArrayEi
(./libcaffe.so)
undefined symbol: _ZN2cv17getOptimalDFTSizeEi (./libcaffe.so)
undefined symbol: _ZN2cv3dftERKNS_11_InputArrayERKNS_12_OutputArrayEii (./libcaffe.so)

我的问题是共享库已经完成了编译和链接。为什么它仍然有 undefined symbol ,为什么它没有发生在链接阶段

最佳答案

默认情况下,编译和链接共享库不报告 undefined symbol 。

它们将在您生成可执行文件时报告,其中必须定义所有符号。

如果要强制要停止你的库构建并给你错误,你必须启用 --no-undefined 选项。

关于linux - 共享库中的 undefined symbol ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37834283/

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