尽管有 -nostdlib,为什么仍然依赖 libc
Why libc dependency despite of -nostdlib
我想在共享库构建过程中控制对 libc 的依赖。
因此,我在命令行中引入了 -nostdlib(使用 clang 8 或 gcc 9;它们是一样的)。
如果我不 link 我的 lib 与其他一些共享库(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
。您还必须使用 -nostdlib
构建该库。
我想在共享库构建过程中控制对 libc 的依赖。
因此,我在命令行中引入了 -nostdlib(使用 clang 8 或 gcc 9;它们是一样的)。
如果我不 link 我的 lib 与其他一些共享库(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
。您还必须使用 -nostdlib
构建该库。