LTDL_LIBRARY_PATH和LD_LIBRARY_PATH有什么区别?

时间:2015-10-11 03:20:27

标签: c++ c gcc g++ autotools

在编译和链接CC++代码时,LTDL_LIBRARY_PATHLD_LIBRARY_PATH环境变量的目的是什么?另外它们之间有什么区别?

由于

1 个答案:

答案 0 :(得分:4)

LTDL_LIBRARY_PATHlibtool library设置了一个库搜索路径,这是一个使用共享库的助手/可移植性库。该库将在搜索LD_LIBRARY_PATH之前搜索此路径中的目录,libltdl是为系统的共享库加载器设置搜索路径的环境变量。

来自libtool documentation

  

如果lt_dlsetsearchpath找不到库,则文件名filename不能找到   有一个目录组件,它将在下面另外查看   模块的搜索路径(按以下顺序):

     
      
  • 用户定义的搜索路径:程序可以使用函数lt_dladdsearchdirlt_dlinsertsearchdir更改此搜索路径   libltdl
  •   
  • LTDL_LIBRARY_PATH的搜索路径:此搜索路径是环境变量LD_LIBRARY_PATH的值。
  •   
  • 系统库搜索路径:系统相关库搜索路径(例如,在GNU / Linux上为<h3>
  •   

如上所述,LD_LIBRARY_PATH is an environment variable that the system will use搜索共享库。