【问题标题】:easy way to link libraries with gcc将库与 gcc 链接的简单方法
【发布时间】:2016-04-11 23:43:19
【问题描述】:

假设这是我的程序:

#include <math.h>
#include <stdio.h>

int main(void) {
    double a = sqrt(20);
    return 0;
}

当我们使用数学函数时,我们必须包含头文件“math.h”。 但是在使用gcc 编译时,我们还必须指定程序使用的共享库(在本例中是数学库)。为此,我们使用选项-lm。

添加以使用共享库的选项并不总是很清楚(我知道它以-l 开头,这意味着lib,但我没有任何简单的想法来获取-l 之后的字母,但在 google 上搜索除外)。

我的问题是:有没有一种简单的方法可以使用我包含的标头来获得与 gcc 一起使用的正确选项??

【问题讨论】:

  • 习惯上将静态库命名为libXXX.a。当您链接它时,lib 和 .a 部分是预期的,因此您只需使用 -lXXX 作为选项。
  • 我知道那个兄弟。我正在寻找一种简单的方法来找出 XXX。
  • 可能是man 页面。不知道有什么简单的方法。
  • 基本上没有。有些(-lm、-lc 需要)是传统的,但不是标准化的。其他的,您只需要查阅相应的文档即可。
  • @Sidahmed 对于标准功能,手册页就足够了,对于 sqrt,请参阅 linux.die.net/man/3/sqrt,它明确指出使用 -lm 链接。

标签: c linux gcc shared-libraries


【解决方案1】:

有没有一种简单的方法可以让我使用我包含的标头来获得与 gcc 一起使用的正确选项??

是的:阅读手册页或库附带的其他文档。

【讨论】:

  • 我只是使用man 命令,还是需要阅读一些特定的文档??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-07
  • 1970-01-01
  • 1970-01-01
  • 2016-01-18
  • 2021-05-14
  • 2011-10-22
  • 1970-01-01
相关资源
最近更新 更多