相关疑难解决方法(0)

.so搜索路径

我是Linux新手(来自Windows背景).我想了解在运行时如何加载共享对象(.so文件)的细节.根据http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html,文件/etc/ld.so.conf配置目录以在运行时搜索.so文件.然而,下面显示的实验似乎表明情况并非如此./ usr/local/lib位于/etc/ld.so.conf.d中的一个.conf文件中,但是当我的.so位于/ usr/local/lib中时,在运行时找不到它.相反/ usr/lib 不是由/etc/ld.so.conf配置的,但当我的.so在/ usr/lib中时,它在运行时找到.

我错过了什么?

谢谢,戴夫

davids@ds-ub64-7:/$ # Display the .so search path configured in /etc/ld.so.conf
davids@ds-ub64-7:/$ cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
davids@ds-ub64-7:/$ cat /etc/ld.so.conf.d/*.conf
/usr/lib/mesa
/usr/lib32/mesa
/usr/lib32/alsa-lib
/usr/lib/alsa-lib
# libc default configuration
/usr/local/lib
# Multiarch support
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu

davids@ds-ub64-7:/$ # libsotest.so.1 is in /usr/local/lib
davids@ds-ub64-7:/$ ls -la /usr/local/lib/libsotest*
lrwxrwxrwx 1 root   root     14 2012-07-19 08:24 /usr/local/lib/libsotest.so -> libsotest.so.1
lrwxrwxrwx 1 root   root     18 2012-07-19 08:24 /usr/local/lib/libsotest.so.1 ->     libsotest.so.1.0.1
-rwxr-xr-x 1 davids davids 7952 …
Run Code Online (Sandbox Code Playgroud)

linux

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

linux ×1