我在linux中编译了一个共享库。生成库之后。我执行ldd -r libfoo.so
。它带有未定义的符号错误
我的错误消息如下
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)
我的问题是共享库已完成编译和链接。为什么它仍然有未定义的符号,为什么它不会发生在链接阶段
答案 0 :(得分:4)