linux系统中,export LD_LIBRARY_PATH用于设置程序共享库位置。
比如有一个动态库so,该动态库依赖其他第三方库,为了能够正常使用动态库,需要同时提供该.so文件以及其所依赖的其他第三方库。
那么有三种方式可以加载第三方库以保证.so的正常使用,总结如下表:
操作步骤 | 效果 |
---|---|
命令行输入export LD_LIBRARY_PATH=/第三方库路径/:$LD_LIBRARY_PATH 配置之后最好运行一下:# ldconfig | 临时设置变量LD_LIBRARY_PATH,开机后不存在 |
在~/.bashrc文件的未尾,采用如下语句来使设置生效:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib 修改后,关掉当前终端并重新打开一个新的终端,从而使配置生效 | 每次打开新的shell运行程序不停设置LD_LIBRARY_PATH |
打开~/.bash_profile文件,设置环境变量如下:LD_LIBRARY_PATH=dir:$LD_LIBRARY_PATH export LD_LIBRARY_PATH | 只需设置一次LD_LIBRARY_PATH ,该环境变量向loader指定共享库的目录。可以用冒号分隔设置多个搜索目录。 |
把目录加到/etc/ld.so.conf中,然后调用ldconfig。 | 系统范围内全局有效 |
此文章参考了CSDN内他人博客总结,但由于当时没有记录,目前搜索结果过多已无法找到原来的博客,感谢原作者提供的资料。