00 Ubuntu下动态库查找路径的指定

Post date: 2012/4/3 上午 05:39:12

在linux下配置好库之后动态库.so和静态库.a都往往存放在/usr/local/lib下,但是有些时候我们可能不希望一些不重要的库也安装在这个目录下,但是用的时候又不想去指定连接库的位置,那么这时候可以修改/etc/ld.so.conf.d文件,这个文件是linux配置动态库查询路径的,比如我们配置了boost库,并将boost库的lib放在/usr/local/lib/boost目录下,在我编译程序是需要能找到boost的静态库路径,在运行boost的时候同样需要知道boost库的动态库路径,否则前者导致静态库.a找不到而后者导致程序无法运行,这是因为在系统动态库查询路径中找不到boost库的库路径,而如果我们修改/etc/ld.so.conf.d,在其中加入boost库的库路径然后执行ldconf,就可以找到这个库了,这也是为什么很多软件安装完成之后需要执行ldconf,这是因为ldconf将重新加载配置文件,这样linux就可以找到新加入的配置文件了。