Linux中的持久库搜索路径

时间:2012-07-08 13:13:45

标签: linux shared-libraries

我想全局更改LD_LIBRARY_PATH变量,使用一些奇怪的第三方SDK,它将其共享库放在自定义目录中。所以,我将这样的脚本添加到/etc/profile.d:

LD_LIBRARY_PATH=/usr/local/ebus_sdk/lib/genicam/bin/Linux64_x64:/usr/local/ebus_sdk/lib/qt/lib:/usr/local/ebus_sdk/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

重启后,我在命令行中输入:

alex@alex-64:~$ echo $LD_LIBRARY_PATH
.

所以,这种方式不起作用。有没有其他方法可以将这些目录添加到库搜索路径?

2 个答案:

答案 0 :(得分:3)

尝试将两行放在一行:

export LD_LIBRARY_PATH=/usr/local/ebus_sdk/lib/genicam/bin/Linux64_x64:/usr/local/ebus_sdk/lib/qt/lib:/usr/local/ebus_sdk/lib:$LD_LIBRARY_PATH

修改的:
检查某些配置文件是否不会覆盖LD_LIBRARY_PATH。典型的候选人是~/.profile~/.bashrc(或适合您的shell类型)。

答案 1 :(得分:1)

大多数Linux发行版都会将文件添加到/etc/ld.so.conf.d目录,其中包含搜索库的路径。这是安装程序(如rpmdpkg)安装和卸载程序包系统更改的便捷方式。