设置库目录路径的首选方法是什么?

设置库目录路径的首选方法是什么?

我将二进制文件及其依赖项安装到非标准位置。当我运行二进制文件时,我需要指定其所有依赖项的库位置。我知道这样做的一种方法是:

export LD_LIBRARY_PATH="/path/to/shared/libraries:/path/to/more/shared/libraries"

...但这似乎有点儿太老套了,因为我需要将其放入每个打算运行该程序的用户的 .bashrc 中。如果不将库安装到系统目录,有没有更好的方法可以确保二进制文件始终能够链接到正确的库?

答案1

您可以输入此行/etc/profile,它将应用于所有用户帐户。

答案2

编写包装脚本。

#!/bin/bash

function my_directory
{
  olddir="$(pwd)"
  cd "$(dirname $0)"
  echo "$(pwd)"
  cd "$olddir"
}

export LD_LIBRARY_PATH="$my_directory/relative/path/to/shared/libraries:$my_directory/relative//path/to/more/shared/libraries"
$my_directory/relative/path/to/executable

相关内容