Gcc 为什么libc依赖于-nostlib

Gcc 为什么libc依赖于-nostlib,gcc,clang,shared-libraries,llvm-clang,libc,Gcc,Clang,Shared Libraries,Llvm Clang,Libc,我想在共享库构建期间控制对libc的依赖性 因此,我在命令行中引入了-nostdlib(与clang8或gcc9相同) 如果我不将我的库与其他共享库(libossp-uuid,简称libossp-uuid)相链接,那么这是可行的 但不能使用-lossp uuid cc -fPIC -shared -nostdlib -olibmain.so main.c -L/usr/local/lib -lossp-uuid -I/usr/local/include ldd显示了对libc.so.7的依

我想在共享库构建期间控制对libc的依赖性

因此,我在命令行中引入了-nostdlib(与clang8或gcc9相同)

如果我不将我的库与其他共享库(libossp-uuid,简称libossp-uuid)相链接,那么这是可行的

但不能使用-lossp uuid

cc -fPIC -shared -nostdlib -olibmain.so   main.c -L/usr/local/lib -lossp-uuid -I/usr/local/include
ldd显示了对libc.so.7的依赖关系

ldd ./libmain.so
./libmain.so:
        libossp-uuid.so.16 => /usr/local/lib/libossp-uuid.so.16 (0x80066f000)
        libc.so.7 => /lib/libc.so.7 (0x80024a000)
问题是为什么我不能。有解决办法吗

非常感谢你提出的明智建议。
这对我来说是一个很大的谜团。

依赖性似乎源于
libossp uuid.so.16
。您还必须使用
-nostlib
构建该库。

无法复制