我想添加自己的库以用于 c 编译,但不知道 ubuntu 将它存储在哪里。
答案1
根据库的不同,ubuntu 主要将其库存储在三个位置
- /lib
- /usr/lib
- 在 /usr/local/lib 中
以下内容来自文件系统层次结构标准
/lib
/lib 目录包含启动系统和运行根文件系统中的命令所需的共享库映像,即 /bin 和 /sbin 中的二进制文件。
/usr/lib
/usr/lib 包含目标文件、库和内部二进制文件,它们不打算由用户或 shell 脚本直接执行。[22]
应用程序可以使用 /usr/lib 下的单个子目录。如果应用程序使用子目录,则应用程序独占使用的所有与体系结构相关的数据都必须放在该子目录中。
在 /usr/local/lib 中包含本地库,即该系统特有的库,但我在 FHS 中找不到对 /usr/local/lib 的引用,它仅包含对 /usr/local 的解释。
答案2
根据您对问题的评论,我认为您真正想问的是“如何安装我编写的自定义库以及应该将它放在哪里?”
通常,为机器上其他用户本地构建的内容会放入 /usr/local 树中。头文件应放入 /usr/local/include。编译后的库应放入 /usr/local/lib。.c 文件不是库的一部分,而是源代码的一部分,而不是通常不为最终用户使用而安装的东西。您需要 root 访问权限才能将文件放入这些位置中的任何一个。
要构建库,您需要先决定要构建静态库还是动态(共享)库。有关创建共享库的更多信息,请参阅第 3.4 节“创建共享库”http://www.linux.org/docs/ldp/howto/Program-Library-HOWTO/shared-libraries.html。(他们还会就放置东西的位置提出建议——大多数开发人员都会有一个或三个意见 :-))
答案3
Ubuntu 遵循文件系统层次结构标准 (http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard),常规应用程序库应该存放在 /usr/lib 下。
请注意,开发/管理库并不是一个简单的主题,您应该阅读一些更详细的文档,这里有一个很好的教程: http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
答案4
在 Ubuntu 中它们位于/usr/include
。