为什么数学函数没有静态库?

时间:2013-10-08 04:00:40

标签: c linux gcc fedora libm

只有动态库大多没有静态版本才是标准吗?我特别询问数学库。在我的fedora 17(Intel 32处理器上的linux机器)上,我有最新的gcc,它有libm-2.15.so和符号链接文件libm.so但是没有libm.a。

我的系统上是否缺少libm.a?

3 个答案:

答案 0 :(得分:12)

安装静态库:

# yum install glibc-static

答案 1 :(得分:0)

通常.somand .a同时存在,但dll是第一位的。

可能缺少静态库,你可以尝试使用yum命令,如nirk所说。

答案 2 :(得分:0)

你问:

  

只有动态库大部分没有静态版本才是标准吗?

在Fedora中,仅包装动态库确实是标准的。来自packaging guidelines

包括库的包应该尽可能地排除静态库(例如,通过使用--disable-static进行配置)。静态库只应包含在特殊情况下。链接库的应用程序应尽可能链接到共享库而不是静态版本。

以后,

一般情况下,强烈建议包装商不要运送静态库,除非有令人信服的理由。

...接着说,当这样的库打包时,它应该在一个单独的子包中,后缀为-static,在这种情况下{{1} }。