linux - Linux 中的持久库搜索路径

标签 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
.

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

最佳答案

尝试将两条线放在一条线上:

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 类型)。

关于linux - Linux 中的持久库搜索路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11383417/

相关文章:

linux - linux中的进程如何决定它拥有的特权

c++ - 如何将共享库链接到另一个共享库

java - 使用尽可能多的共享代码为 Java ME 和 Java SE 编写 Java 库

c++ - C++库链接FMOD

android - 如何删除 Android libs 目录中多余的 .so 文件

android - 如何在 Linux 的 BIOS 和 KVM 模块中启用 VT-x?

linux - 为 Qt 创建位图字体

c - printk 适用于某些功能但不是全部

linux - : Cannot determine the module for class SomeComponent in/path to that component. ts 中的错误!将 SomeComponent 添加到 NgModule 以修复它

java - 命名空间 "classloader-namespace"无法访问库