【问题标题】:GCC fails to link to libc.aGCC 无法链接到 libc.a
【发布时间】:2024-04-24 05:00:02
【问题描述】:

我正在编译一个包含多个库的项目,没有问题。我正在使用标准库内容。但是,math.h 函数无法链接。我的命令行编译如下:

gcc -o exe/split main/split.c -I/usr/include/gsl  -Isrc -Llib -L/usr/lib/x86_64-linux-gnu  -ltools -lgsl

我正在编译这个简单的脚本,刚刚从math.h 添加了sqrt,在许多编译和工作正常的gsl 函数中。 libc.a 存在于 /usr/lib/x86_64-linux-gnu

此时,链接失败很奇怪,以至于我基本上被卡住了。这里可能是什么问题?

【问题讨论】:

  • 追加 -lm 到你的编译命令行。 libm 是数学库

标签: c gcc libc


【解决方案1】:

<math.h> 中声明的大多数函数实际上不在 libc 中。他们在 libm 中,出于歇斯底里的葡萄干 - 我的意思是,历史原因。

将“-lm”添加到您的命令行。最好放在最后。

【讨论】: