【发布时间】:2011-07-27 21:38:53
【问题描述】:
我在我的代码中使用函数 regcomp()。我的代码与 libonig.so 以及 libc.so.6 链接。 这两个库都有自己的 regcomp() 实现,但是我想使用 libonig.so 中的实现。但是,我的代码总是使用 libc.so.6 中的实现。 ldd的输出如下——
ldd libtest.so
linux-vdso.so.1 => (0x00007fffa03ff000)
libonig.so.2 => /usr/local/lib/libonig.so.2 (0x00007f5cb2fbf000)
libstdc++.so.6 => /usr/local/lib64/libstdc++.so.6 (0x00007f12a43cf000)
libm.so.6 => /lib64/libm.so.6 (0x00007f12a414c000)
libgcc_s.so.1 => /usr/local/lib64/libgcc_s.so.1 (0x00007f12a3f36000)
libc.so.6 => /lib64/libc.so.6 (0x00007f12a3be1000)
/lib64/ld-linux-x86-64.so.2 (0x0000003421c00000)
我不允许修改任何 libonig.so 或 libc.so.6。有没有办法向链接器指定应该从 libonig.so 使用 regcomp()?
【问题讨论】:
标签: linker shared-libraries linker-errors