您的位置:首页 > 运维架构 > Linux

Linux动态库(.so)搜索路径(目录)设置方法

2016-06-14 17:22 435 查看
众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库,并且该动 态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库中的函数,以及该动态库的其它资源了。在Linux 中,动态库的搜索路径除了默认的搜索路径外,还可以通过以下三种方法来指定。

Linux动态库(.so)搜索路径(目录)设置方法

方法一:在配置文件/etc/ld.so.conf中指定动态库搜索路径

步骤一:修改搜索路径,vi /etc/ld.so.conf 

步骤二:添加so文件到搜索路径 lib目录 下
步骤三:配置生效,ldconfig

方法二:通过环境变量LD_LIBRARY_PATH指定动态库搜索路径

命令行执行或者在启动脚本中执行如下命令

export LD_LIBRARY_PATH=”LD_LIBRARY_PATH:/opt/”


方法三:在编译目标代码时指定该程序的动态库搜索路径

在编译目标代码时指定程序的动态库搜索路径。通过gcc 的参数”-Wl,-rpath,”指定。

参考资料

【1】How Libc shared library loaded in memory and shared amongst processes?

【2】Static, Shared Dynamic and Loadable Linux Libraries

【3】The inside story on shared libraries and dynamic loading
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: