2012-07-08 68 views
2

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

 
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 

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

 
[email protected]:~$ echo $LD_LIBRARY_PATH 
. 

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

回答

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(或适合您的种类)。

+0

是的,bashrc会覆盖LD_LIBRARY_PATH。现在我认为使用LD_LIBRARY_PATH并尝试修改/etc/ld.so.conf(现在不成功)并不是一个好主意。无论如何,原来的问题是回答,谢谢。 – 2012-07-08 13:30:11

1

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

+0

是的,这是我最终做的。我的问题是,它只有在执行lgconfig后才开始工作。 – 2012-07-09 09:37:49