ubuntu 中不同的“lib”文件夹有什么区别

tqj*_*stc 17 12.04

在根目录下,我们可以发现几个“LIB”子文件夹,例如/liblib32lib64/usr/lib/usr/lib32/usr/local/lib

它们的区别是什么?

Baa*_*rud 28

/lib包含即使在单用户(仅限管理员)模式下也可能需要的“基本”库且未/usr安装

/usr/lib是普通用户程序的库,大部分可以在/usr.

/usr/local/lib是本地安装的程序和包的库,即。你自己从源代码包编译和安装的东西。

除了作为 lib-directories 主要用途的共享和静态库之外,您还可以在它们下找到一些更大的包的一些层次结构(具有自己的 lib、bin、include 等)。

lib32lib64在 64 位系统上使用以分离 32 位和 64 位库。

  • 命令 ldconfig 通过库更新系统缓存,因此在安装新库后,您应该运行它。还有一个配置文件 /etc/ld.so.conf ,它指定 ldconfig 将在何处查找新库,并且您可以添加不寻常的库位置 - 例如在其自己的子目录中具有实际 lib 文件的库。/usr/local/lib 应该已经在那里了,所以如果你的库直接安装在 /usr/local/lib 下,运行 ldconfig 应该就足够了。第 2 部分中的更多内容 (2认同)
  • 现在系统知道库在哪里,但通常您还需要为 gcc 和 g++ 编译器和链接器指定不寻常的库。在您的程序中,您使用 #include 来指定库的头文件。编译:“gcc -Wall -I/path/to/includefile -c myprogram.c” 这里可能是/usr/local/include,无论如何都应该找到。要与库链接,您可以使用命令“gcc -L/path/to/library -lnameoflibrary -lotherlibraries myprogram.o” 同样,应该自动找到 /usr/local/lib,但如果 lib 位于子目录中,您肯定需要指定。 (2认同)