在嵌入式开发中,我们可能把自己实现的应用和动态库放入自定义目录,比如,我们将实现的应用放入 /usr/local/app/bin
目录下,动态库放入 /usr/local/app/lib
。此时库文件就不在系统的缺省目录 /lib
和 /usr/lib
下。
当我们执行应用时,此时如果需要链接 /usr/local/app/lib
下的动态库,可能就会出现如下问题:
error while loading shared libraries: libxxx.so: cannot open shared object file: No such file or directory
这是因为无法找到库文件,这时就需要使用 LD_LIBRARY_PATH
这个环境变量,该环境变量主要用于指定查找动态库时除了默认路径之外的其他路径,所以就需要执行如下命令:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/app/lib
这时候,再去执行应用就可以正常运行了。