根据库的不同,Ubuntu主要将其库存储在三个位置:1. /lib 2. /usr/lib 3. /usr/local/lib以下内容来自文件系统层次结构标准:/lib目录包含用于引导系统和运行根文件系统中的命令(即/bin和/sbin中的二进制文件)所需的共享库映像。/usr/lib包括对象文件、库和不打算由用户或shell脚本直接执行的内部二进制文件。应用程序可以在/usr/lib下使用一个子目录。如果应用程序使用了子目录,则所有仅由该应用程序使用的与体系结构相关的数据必须放置在该子目录中。/usr/local/lib包含本地库,即专门为此系统设计的库,但我在FHS中找不到关于/usr/local/lib的参考,它只包含有关/usr/local的解释。
根据您对问题的评论,我认为您真正想问的是“如何安装我编写的自定义库,以及应该将其放在哪里?”通常情况下,为其他机器上的用户构建的东西会放在/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。(他们还对放置文件的位置有推荐 -- 大多数开发人员都会有自己的意见 :-) )
Ubuntu遵循文件系统层次标准(http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard),常规应用程序库应存储在/usr/lib目录下。请注意,开发/管理库不是一个简单的主题,您应该阅读一些更详细的文档,这里有一个很好的教程:http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html。
你应该告诉编译器在哪里找到你的库。假设你的库的路径是 "/path/to/lib/libfoo.a",你可以这样编译和链接你的程序 "hello.c":gcc -L/path/to/lib -lfoo hello.c 这与Ubuntu无关,实际上我所知道的所有C编译器都支持这些标志。