当执行函数动态链接.so时,如果此文件不在缺省目录下‘/usr/local/lib’ and ‘/usr/lib’.
那么就需要指定环境变量LD_LIBRARY_PATH
假如现在需要在已有的环境变量上添加新的路径名,则采用如下方式:
LD_LIBRARY_PATH=NEWDIRS:$LD_LIBRARY_PATH.(newdirs是新的路径串)
(注:GNU系统可以自动添加在 /etc/ld.so.conf文件中来实现环境变量的设置)
$ ldd a.out
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x40023000)
libm.so.6 => /lib/tls/libm.so.6 (0x40101000)
libc.so.6 => /lib/tls/libc.so.6 (0x40123000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
$ LD_LIBRARY_PATH=/home/zlbruce/myworld/lib:$LD_LIBRARY_PATH ldd a.out
libstdc++.so.6 => /home/zlbruce/myworld/lib/libstdc++.so.6 (0x40016000)
libm.so.6 => /lib/tls/libm.so.6 (0x40117000)
libc.so.6 => /lib/tls/libc.so.6 (0x40139000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)