我想在共享库构建过程中控制对libc的依赖性。
因此,我在命令行中引入了-nostdlib(使用clang 8或gcc 9;它是相同的)。
如果我没有将我的库链接到其他共享库(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
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句