使用 LD_LIBRARY_PATH 环境变量指定链接程序应在哪些目录路径中搜索用 -llibrary 选项指定的库。
可以指定多个目录,其间用冒号分隔。通常,LD_LIBRARY_PATH 变量包含两个用冒号分隔的目录列表,列表间用分号隔开:
dirlist1;dirlist2
首先搜索 dirlist1 中的目录,接着是命令行上用任何显式 -Ldir 指定的目录,再接着是 dirlist2 以及标准目录。
也就是说,如果使用多个 -L 调用编译器,如下所示:
f95 ... -Lpath1 ... -Lpathn ...
则搜索顺序是:
dirlist1 path1 ... pathn dirlist2 standard_paths
当 LD_LIBRARY_PATH 变量只包含一个用冒号分隔的目录列表时,它会被解释为 dirlist2。
在 Solaris 操作环境中,当搜索 64 位依赖性时,可以用相似的环境变量 LD_LIBRARY_PATH_64 来替代 LD_LIBRARY_PATH。有关详细信息,请参见 Solaris《链接程序和库指南》以及 ld(1) 手册页。
在 32 位 SPARC 处理器上,会忽略 LD_LIBRARY_PATH_64。
如果只定义了 LD_LIBRARY_PATH,它将被同时用于 32 位和 64 位链接。
如果同时定义了 LD_LIBRARY_PATH 和 LD_LIBRARY_PATH_64,则 32 位链接将用 LD_LIBRARY_PATH 来完成,而用 LD_LIBRARY_PATH_64 进行 64 位链接。
强烈建议不要对生产软件使用 LD_LIBRARY_PATH 环境变量。尽管它作为一种影响运行时链接程序搜索路径的临时机制很有用,但是任何可以引用该环境变量的动态可执行文件的搜索路径都会被改变。您可能会看到了意想不到的结果或性能降低。