1

我通过链接 libociei.so 和 libcustome.so 创建了一个应用程序

CC -o main main.cpp ../lib/libociei.so ../lib/libcustome.so

并将 libociei.so libcustome.so 复制到 /usr/lib

然后我使用 ldd 检查库,它显示:

   main .....
   libcustome.so  ===>   /usr/lib/libcustome.so
   ../lib/libociei.so

为什么 libociei.so 没有重新定位到 /usr/lib/libociei.so ?

ps : ld 库路径是 /lib:/usr/lib 我没有将 ../lib 添加到 ld 库路径

4

2 回答 2

0

如果您使用的是 linux(比如 Ubuntu),那么可能是因为您没有运行:

sudo ldconfig

在其他系统上我不太确定。

于 2010-10-22T04:54:08.853 回答
0

当您使用 readelf -d main 时,NEEDED 条目是否具有完整路径?

我的猜测是 ldd 正在寻找默认路径中的库。

于 2012-09-02T02:10:17.413 回答