更改库位置

更改库位置

我在同一系统的不同位置安装了不同版本的 Libnet 库:

whereis libnet
libnet: /usr/lib/libnet.la /usr/lib/libnet.a /usr/lib/libnet.so /usr/local/lib/libnet.la /usr/local/lib/libnet.a /usr/local/lib/libnet.so /usr/include/libnet.h /usr/include/libnet /usr/man/man3/libnet.3

我在编译依赖于这些 libnet 库的程序时遇到一些问题,因此我想删除“usr/local/....”-ones。你能告诉我该怎么做吗,即,当我在命令行上使用 whereis libnet 时,我不想看到“/usr/local/...”引用?!

谢谢你!

答案1

我在编译依赖于这些 libnet 库的程序时遇到一些问题,因此我想删除/usr/local/-ones

通常不需要删除位于/usr/local.所以不要被愚弄了whereis。您可以通过 LD_LIBRARY_PATH环境变量指定首先搜索库的库路径。

在您的情况下,您必须将变量/usr/lib添加并附加到 make 过程的环境中。LD_LIBRARY_PATH这通常是由

$ export LD_LIBRARY_PATH=/usr/lib

在开始 make 过程之前或在相关命令前面加上参数分配。通常看起来像

$ LD_LIBRARY_PATH=/usr/lib ./configure

如果你真的想摆脱下面的图书馆,/usr/local你首先必须澄清一个问题。

您是如何安装该库的(因为它位于下面,/usr/local所以很可能是您安装的):

  • 与你的包管理器
  • 借助于make install
  • 刚刚将二进制文件移动到目录中

相关内容