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