Linux 开发程序引用动态库设置so库路经

Linux 开发程序引用动态库设置

修改动态库搜索路径有好几种方式,这里按照是否使用root管理员用户类分类,一类是使用root,一类不适用root用户。

LD_LIBRARY_PATH是Linux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。

系统查询so库文件路径的顺序:

1.编译目标代码时指定的动态库搜索路径;
2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径;
3.配置文件/etc/ld.so.conf中指定的动态库搜索路径;
4.默认的动态库搜索路径/lib和/usr/lib;

1、使用root用户

LD_LIBRARY_PATHexport 语句写到系统文件中,例如 /etc/profile/etc/export~/.bashrc 或者 ~/.bash_profile

即该变量永久存在。

可以参考L:https://blog.csdn.net/zsf211/article/details/87985953 博文中的 6、环境变量的修改

2、 不使用root用户

设置临时环境变量 LD_LIBRARY_PATH,在下次重新启动系统后该变量将不再存在。因此这种方式特别适合使用脚本启的程序,在脚本中添加LD_LIBRARY_PATH环境变量。在docker环境中运行Linux操作系统中的程序也是一样,在build images时设置dockerfile 设置ENV LD_LIBRARY_PATH so文件的路径或者在启动脚本中设置LD_LIBRARY_PATH。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/webserver/php/bin

3、so库的两种加载方式

3.1 显示加载

3.2隐式加载

你可能感兴趣的:(CentOS)