Linux:设置或者更改库路径
时间:2020-01-09 10:41:56 来源:igfitidea点击:
我已经编译并在/usr/local/lib/libapp2.so-> libapp2.so.1.4.3上安装了一个库。
如何在Linux操作系统下设置库路径?
您需要使用ldconfig配置文件和ldconfig命令,该命令创建必要的链接并缓存到在命令行指定的目录,/etc/ld.so.conf和受信任目录中找到的最新共享库。
例如/lib64或者/usr/lib64(在32位系统上为/lib或者/usr/lib)。
/etc/ld.so.conf包含可用于添加或者删除路径的lib设置。
但是,您只需将配置文件放在/etc/ld.so.conf.d/目录中,/sbin/ldconfig将使用它来配置动态链接程序运行时绑定。
添加你的路径
创建一个名为/etc/ld.so.conf.d/myapp.conf的文件:
# vi /etc/ld.so.conf.d/myapp.conf
添加以下路径:
/usr/local/lib
保存并关闭文件。
激活LIB路径
您必须运行以下命令来激活路径:
# ldconfig
验证您的新库路径
# ldconfig -v | less
或者
# ldconfig -v | grep /usr/local/lib
输出示例:
/usr/local/lib: libGeoIP.so.1 -> libGeoIP.so.1.4.6 libGeoIPUpdate.so.0 -> libGeoIPUpdate.so.0.0.0 /usr/lib64/mysql: libmysqlclient_r.so.15 -> libmysqlclient_r.so.15.0.0 libmysqlclient.so.15 -> libmysqlclient.so.15.0.0 /lib: libutil.so.1 -> libutil-2.5.so
如何删除库路径?
只需删除文件:
# rm /etc/ld.so.conf.d/myapp.conf # ldconfig
如何编辑库路径?
只需编辑文件并重新加载更改:
# vi /etc/ld.so.conf.d/myapp.conf # ldconfig
如何使用共享库和GNU GCC编译程序?
您可以使用以下gcc
$ gcc -Wl,-R/path/to/lib -I/path/to/include -L/path/to/lib -o myAppName mycode.c -llibapp2