哪个软件包包含了C标准库?

哪个软件包含有C标准库?
4个回答


build-essential实际上是一个虚拟包,它依赖于“构建所需的一切”。非常有用,因为当你从源代码构建应用程序时,往往不知道实际需要哪些库。但如果你只需要glibc,那么这就过于冗余了。 - Little Jawa

软件包名称是libc6,如果你想构建一个C应用程序,那么你需要安装build-essential软件包,它会带来开发所需的各种包。

我要补充一下,在最近的Ubuntu版本中,源代码包的名称是eglibc,可以在http://packages.ubuntu.com/search?searchon=sourcenames&keywords=eglibc 上看到。 - Daniel T Chen

这是 libc6 / libc6-dev。对于 64 位 / 32 位系统的交叉编译,您可以分别安装 libc6-amd64 libc6-dev-amd64 或 *i386。

-dev 包含了 /usr/include/stdlib.h 的包。


2澄清一下,尽管从软件包描述中并不明确地表明,但主机本地的软件包是libc6libc6-dev,适用于i386或amd64架构。对于交叉编译,i386使用libc6-*amd64,而amd64使用libc6-*i386 - Daniel T Chen
丹尼尔是对的:libc6-amd64(以及其“dev”版本)只在从i386进行交叉编译时有用。无论你使用什么平台,如果你想为同一平台构建,只需要libc6/libc6-dev。 - Little Jawa
根据您的要求,我已经相应地编辑了答案。非常抱歉之前没有注意到这一点。:-) - Stefano Palazzo

一般来说,你可以使用以下命令找到一个文件属于哪个软件包:
dpkg-query -S /path/to/file 在这种情况下,这取决于你首先知道C标准库的文件是什么:/lib/libc6.so.6