LD_LIBRARY_PATH 和 LIBRARY_PATH 在 Linux 系统中都是与动态链接库查找路径相关的环境变量,它们的主要区别在于使用阶段和作用:
LIBRARY_PATH:
作用于程序编译阶段,告诉编译器(如 gcc)在编译时寻找动态链接库(.so 文件)的附加搜索路径。
当编译一个程序,并且该程序依赖于某些非标准路径下的共享库时,设置 LIBRARY_PATH 可以确保编译器能找到这些库并正确链接到可执行文件中。
LD_LIBRARY_PATH:
作用于程序运行阶段,指定了动态链接器(ld.so)在加载已编译好的可执行文件时,查找动态链接库的额外路径。
当一个可执行文件需要加载系统默认路径之外的共享库来运行时,设置 LD_LIBRARY_PATH 能让操作系统在运行时能够找到并加载那些非标准位置的动态链接库。
总结来说,LIBRARY_PATH 是编译时用到的环境变量,用于解决编译时链接问题;而 LD_LIBRARY_PATH 是运行时环境变量,用来解决运行时动态链接库的加载问题。