对于我的应用程序,我使用了特殊版本的库,它被复制到/ opt / lib文件夹中。 当我运行我的应用程序,如果从终端,我做:
export LD_LIBRARY_PATH=/opt/lib
首先,
然后
我的应用运行良好。 否则,它将使用来自/ usr / lib
的错误库如何将/ opt / lib添加到系统中,然后它会在/ usr / lib之前检查我的路径? 感谢。
LJ
答案 0 :(得分:0)
$ PATH的搜索方式是$ PATH开头列出的目录优先于后来的目录。所以请确保您的订单正确。
答案 1 :(得分:0)
将/opt/lib
添加到/etc/ld.so.conf
文件(或/etc/ld.so.conf.d/
目录中的文件),然后运行ldconfig
(以root用户身份)将配置系统链接器以包含搜索中的路径。我相信那里的任何内容都会出现在/lib
和/usr/lib
的默认路径之前(至少根据我正在查看的手册页)。在/etc/ld.so.conf.d
文件中指定的位置之间进行排序是一个不同的问题,但可能只是依赖于文件读取顺序。
答案 2 :(得分:0)
感谢您的回复。 我刚刚发现了如何根据我的情况这样做:
在主目录中的.bashrc文件中添加两行:
LD_LIBRARY_PATH=/opt/lib
export LD_LIBRARY_PATH
然后重新启动一个新的终端,运行ldd我的app,该库链接到/ opt / lib。
希望这很有用。 谢谢 LJ