LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的两个环境变量,二者的含义和作用分别如下:
LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径,例如,指定gcc编译需要用到的动态链接库的目录。
LD_LIBRARY_PATH环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径,注意,LD_LIBRARY_PATH中指定的路径会在系统默认路径之前进行查找。
区别与使用:
开发时,设置LIBRARY_PATH,以便gcc能够找到编译时需要的动态链接库。
发布时,设置LD_LIBRARY_PATH,以便程序加载运行时能够自动找到需要的动态链接库。
GCC里的链接器的选项是 -rpath 和 -rpath-link,看了下 man ld,大致是这个意思:
GCC链接选项-L,-rpath-link和-rpath-L: “链接”的时候,去找的目录,也就是所有的 -lFOO 选项里的库,都会先从 -L 指定的目录去找,然后是默认的地方。
-rpath_link (或者 -rpath-link):这个也是用于“链接”的时候的,例如你显示指定的需要 FOO.so,但是 FOO.so 本身是需要 BAR.so 的,后者你并没有指定,而是 FOO.so 引用到它,这个时候,会先从 -rpath-link 给的路径里找。
-rpath: “运行”的时候,去找的目录。运行的时候,要找 .so 文件,会从这个选项里指定的地方去找。对于交叉编译,只有配合 --sysroot 选项才能起作用。
也就是说,-rpath指定的路径会被记录在生成的可执行程序中,用于运行时。
-rpath-link 则只用于链接时。
相关推荐
java_Path环境变量的配置
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} export CUDA_HOME=/usr/local/cuda export PATH=$PATH:$CUDA_HOME/bin export LD_LIBRARY_PATH=/usr/local/cuda-...
ubuntu9.1随手笔记,GRUB引导修复,GRUB命令行启动,字体安装,flash 乱码,切换用户,eclipse安装,LD_LIBRARY_PATH变量的设置,修改系统启动选项菜单的背景图片,remastersys工具包安装
export LD_LIBRARY_PATH=your_path/install/third_party/onnxruntime/lib:$LD_LIBRARY_PATH ``` 注意:上述命令中的your_path需要改为第1步得到的“install”所在的父目录! ## 3. 编写Demo示例
这个错误是由于系统的`LD_LIBRARY_PATH`环境变量没有正确地指向Mujoco库的安装位置导致的。 在Ubuntu 18.04操作系统中,Mujoco的库文件通常位于`/root/.mujoco/mujoco200/bin`。为了解决这个问题,我们需要将这个...
2、设置环境变量env ORACLE_BASE=/u01/app ORACLE_HOME=$ORACLE_BASE/oracle ORACLE_SID=hsj PATH=$ORACLE_HOEM/bin:$PATH; LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export ORACLE_BASE ...
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/boost/lib export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/boost/lib export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/boost/include export CPLUS_...
HU-unix下面Java调用C语言动态链接库 HU-unix下面Java调用... Java程序可以使用System.loadLibrary()方法加载动态链接库,并需要设置LD_LIBRARY_PATH和java.library.path环境变量以便Java程序可以找到动态链接库。
### GStreamer 1.6.0 一键编译安装脚本知识点详解 #### 一、GStreamer简介 GStreamer是一款开源的多媒体框架,用于...此过程涉及了大量的依赖安装、编译配置和环境变量设置等操作,确保了多媒体应用程序能够顺利运行。
pyenv-archshell pyenv shell命令的扩展,允许在必要时设置 LD_LIBRARY_PATH。 这个插件添加了pyenv archshell命令,它是标准pyenv shell命令的包装器。 目前这个插件只对linux有影响。 如果指定了版本, archshell...
boa开源代码解决cgi依赖库加载失败的问题 int complete_env(request * req) ... char *env = getenv("LD_LIBRARY_PATH"); if (NULL != env) my_add_cgi_env(req, "LD_LIBRARY_PATH", env); ...... }
解决这个问题的一个关键方法是设置或调整系统的环境变量,特别是`LD_LIBRARY_PATH`。本文将详细介绍如何在Ubuntu系统中设置环境变量来解决此类问题。 首先,我们需要理解`LD_LIBRARY_PATH`这个环境变量的作用。它是...
3.设置环境变量 CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/sapjco3.jar LD_LIBRARY_PATH=dir:$LD_LIBRARY_PATH:$JAVA_HOME/jre/lib/amd64/server export CLASSPATH LD_LIBRARY_...
1. 设置操作系统环境变量:ORACLE_HOME、ORACLE_SID、PATH 和 LD_LIBRARY_PATH。 2. 创建数据库存放的目录。 3. 编辑/创建 initsid.ora 参数文件。 4. 在 SQL*Plus 中执行 CREATE DATABASE 命令。 5. 运行所需的 ...
in java.library.path的解决办法及eclipse配置 java一般使用两个path:classpath 和 ...1:LINUX下的系统变量LD_LIBRARY_PATH来添加java.library.path 2:在vm arguments里添加-Djava.library.path= /usr/local/lib
gdal-2.0.1.tar.gz安装包,大家...解决方案:将依赖的动态库和静态库添加到LD_LIBRARY_PATH环境变量中去。 编辑bash的用户配置文件: vim ~/.bashrc 添加:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
4. **INCLUDE** 和 **LIB**(Windows)/ **CPATH** 和 **LD_LIBRARY_PATH**(Linux):这些环境变量在C/C++开发中很重要,分别用于指示头文件和库文件的位置。在CDT中,正确设置这些变量可以避免找不到头文件或链接...
1. **环境变量的作用**:环境变量通常用于存储路径列表,如`PATH`和`LD_LIBRARY_PATH`,它们定义了命令查找和库加载的顺序。 2. **示例**:在Ubuntu 14.04中,`PATH`可能包括`/usr/local/sbin`、`/usr/local/bin`、`...
这两行命令分别设置了`LD_LIBRARY_PATH`和`PATH`两个重要的环境变量。 - `LD_LIBRARY_PATH`: 该变量用于指定动态链接器查找库文件的路径。这里将`/mnt/Nand1/xiaoshou/lib`目录添加到原有的`LD_LIBRARY_PATH`中。 - ...
- 这里不仅更新了PATH变量,还设置了QTDIR变量指向Qt安装目录,并更新了LD_LIBRARY_PATH以确保Qt的库文件能够被正确加载。 通过上述分析可以看出,配置环境变量在LINUX系统中非常重要,它不仅可以帮助我们更高效地...