>[info]
>>[info]## **[/etc/ld.so.conf详解](https://www.cnblogs.com/chris-cp/p/3591306.html)**
>`/etc/ld.so.conf `此文件记录了编译时使用的动态库的路径,也就是加载so库的路径。
默认情况下,编译器只会使用 /lib和/usr/lib这两个目录下的库文件,而通常通过源码包进行安装时,
如果不指定`--prefix`会将库安装在`/usr/local`目录下,
而又没有在文件`/etc/ld.so.conf`中添加`/usr/local/lib`这个目录。
这样虽然安装了源码包,但是使用时仍然找不到相关的`*.so`库,就会报错。
>>[danger]也就是说系统不知道你安装了源码包。
对于此种情况有2种解决办法:
>1. 在用源码安装时,用`--prefix`指定安装路径为`/usr/lib`。这样的话也就不用配置`PKG_CONFIG_PATH`
>2. 直接在文件`/etc/ld.so.conf`中直接添加:`/usr/local/lib`或其他
>>[danger] ## **ldconfig**
>再来看看`ldconfig`这个程序,位于`/sbin`下,
它的作用是将文件 `/etc/ld.so.conf `列出的路径下的库文件缓存到`/etc/ld.so.cache`以供使用,
因此当安装完一些库文件,或者修改`/etc/ld.so.conf`增加了库的新的搜索路径,需要运行一下 `ldconfig`,
使所有的库文件都被缓存到文件`/etc/ld.so.cache`中,如果没做,可能会找不到刚安装的库。
>>[danger] ### PKG_CONFIG_PATH
>最后说下PKG_CONFIG_PATH这个环境变量,它是在安装了pkg-config后出现的
其实pkg-config就是向configure程序提供系统信息的程序,比如软件的版本、库的版本、库的路径等等
这些信息只是在编译其间使用。你可以 `ls /usr/lib/pkgconfig` 下,会看到许多的`*.pc`
打开文件可以看到里面信息,`./configure`就是靠这些信息判断你的软件版本是否符合要求并取得所在位置
所以要正确配置这个环境变量`PKG_CONFIG_PATH`