第一种方法:-Wl,-rpath
在链接时语句后面添加如下命令:
-Wl,-rpath=< thirdparty lib_path >
第二种方法:LD_LIBRARY_PATH
在/etc/profile或者用户profile文件中添加如下命令:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:< thirdparty lib_path >
第三种方法:/lib,/usr/lib
找到缺少的动态库(编译和链接时使用的动态库),将其加到/lib,/usr/lib中的一个文件夹下,这几个文件夹是系统默认的搜索路径。将库文件放置在其中,运行时就可以搜索到了。
第四种方法:/etc/ld.so.cache
通过修改配置文件/etc/ld.so.conf中指定的动态库搜索路径,然后执行ldconfig命令来改变。
优先级顺序
方法一 > 方法二 > 方法三 > 方法四

本文详细介绍了在Linux环境下,四种解决动态库依赖问题的方法:使用-Wl,-rpath在链接时指定路径;设置LD_LIBRARY_PATH环境变量;将库文件放置于/lib,/usr/lib等系统默认搜索路径下;修改/etc/ld.so.conf并执行ldconfig。文章同时阐述了这四种方法的优先级顺序。
1万+

被折叠的 条评论
为什么被折叠?



