Gcc:ld 找不到 -lc

Gcc:ld 找不到 -lc

我正在尝试编译一个简单的程序

gcc main.c

gcc 抛出以下错误

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

我该如何解决这个问题?

我使用的是 Linux Mint 17.2,gcc 版本是 4.8.4

答案1

ld是链接器,即将您编写的代码与预先存在的库代码连接在一起的程序。-lc表示存储在文件中libc.a并且由于选项-lc传递给链接器而被链接的库。

libc是个C标准库,它会在每个程序中自动链接,除非您明确要求不链接(除了编译 libc 本身之类的事情之外,很少这样做,因为没有 libc,您几乎无法做任何事情,而且您绝对不能做任何模糊便携的东西)。

您需要提供libc.a.您可以找到它apt-file search /libc.a(您需要apt-file先安装,然后通过运行初始化它sudo apt-file update)。该包称为libc6-dev; Debian 及其衍生品(包括 Ubuntu、Mint 等)中的大多数开发包都被调用,其中 NAME 是库集合的名称(并不总是您链接的特定库的名称,例如该包包含其他库,例如as ) 和 # 是版本号。libNAME#-devlibc6libm

构建几乎任何东西都需要 C 标准库,因此它是构建必备包,如果您进行任何编译,则应该包含它。

相关内容