我只是想弄清楚,为什么Fedora没有静态库libm.a,如果它是事实,我应该使用它?正如在here in StackOverflow中提到的,我可以简单地从yum安装pkg,但是可以接受这样的想法,即Fedora有一个替代的默认lib instead.No?
编辑过的
我试着编译这个:
#include <stdio.h>
#include <stdlib.h>
void fred(int arg)
{
printf("fred: you passed %d\n", arg);
}输出如下:
$ gcc -o fred fred.c /usr/lib64/libm.so
/usr/lib/gcc/x86_64-redhat-linux/6.2.1/../../../../lib64/crt1.o: En la función `_start':
(.text+0x20): referencia a `main' sin definir
collect2: error: ld devolvió el estado de salida 1用lm、/usr/lib/libm.a和/usr/lib64/libm.a测试ggc
我做了所有这里和其他帖子,yum install glibc-static和/usr/lib64/libm.so的检查
编辑
repoquery --whatprovides /usr/lib64/libm.a
failure: repodata/repomd.xml from fedora-cisco-openh264: [Errno 256] No more mirrors to try.
https://codecs.fedoraproject.org/openh264/24/x86_64/repodata/repomd.xml: [Errno -1] repomd.xml signature could not be verified for fedora-cisco-openh264谢谢。
发布于 2016-12-06 22:18:00
这里有几件事..。
libm.a。您可以链接到动态文件,并且可以使用gcc -lm进行链接,而不是直接给出文件名。libm.a,您可以在glibc-static包中找到它--但出于许多原因,不建议这样做。main()函数。尝试将以下内容添加到文件的底部:
int main (int argc,char **argv) { fred(1);fred(2);fred(42);}然后用gcc -o fred fred.c编译
https://stackoverflow.com/questions/41002773
复制相似问题