删除 libc.a 和 libc.so 后无法编译 C 程序

删除 libc.a 和 libc.so 后无法编译 C 程序

我从 Raspberry Pi 中删除了libc.a文件libc.so。我读到过一些文章说它可以修复我在使用库时遇到的问题mpi.h,但事实并非如此,它阻止我编译 C 程序。这是我收到的错误消息:

/usr/bin/ld: cannot find -lc
collect2: ld returned 1 exit status

答案1

这取决于您的发行版,因此也取决于您的包管理器。

如果你使用的是 Debian 及其衍生产品(Ubuntu、Mint、Raspbian 等),那么查找给定文件所属包的命令是

  apt-file search filename

apt 文件默认情况下未安装,如果您尚未安装,则必须安装它)。在我的系统上,它显示:

 # apt-file search /usr/lib/x86_64-linux-gnu/libc.so
 libc6-dev: /usr/lib/x86_64-linux-gnu/libc.so
 # apt-file search /usr/lib/x86_64-linux-gnu/libc.a
 libc6-dev: /usr/lib/x86_64-linux-gnu/libc.a

这表明它们起源于libc6-dev软件包。现在你可以使用

 # apt-get --reinstall install libc6-dev

您已经完成。

相关内容