为什么尽管有-nostdlib却仍依赖libc

是的先生

我想在共享库构建过程中控制对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)

问题是为什么我不能。有没有解决方法。

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

弗洛里安·韦默(Florian Weimer)

依赖性似乎源于libossp-uuid.so.16您也必须使用该库-nostdlib

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

导入org.openqa.selenium。尽管有maven依赖项但未找到

尽管有依赖项列表,但还是会发生反应钩useEffect无限循环

为什么 libc 依赖于 ld.so?

尽管有匹配项,为什么该函数什么也不返回?

尽管有键,为什么我的所有子组件都重新渲染?

尽管有劳赫屏幕文件,为什么仍需要启动图像?

尽管有 init 文件,为什么仍会发生 Module Not found 错误?

为什么pg_fetch_array尽管有null检查也返回null?

尽管有以下教程,但是angularjs中的此指令为什么不接受参数

为什么float.ToString(“ F15”)尽管有足够的位数却降低了精度?

尽管有Swing,为什么我们仍需要JavaFX?

为什么尽管有多个网格项,我的网格容器仍无法展开?

尽管有 RepeatForever(),为什么 Quartz.net 仍然关闭

尽管有更多可用空间,为什么 18.04 LVM 默认为 4GB?

尽管有元素,为什么document.getElementsByName的长度为0?

Dockerfile中的打包步骤是下载依赖项,尽管有上一步可以解决依赖项

尽管有错误,为什么为什么浮点字面量仍按原样表示呢?

尽管有约束,为什么导航栏顶部和安全区域顶部之间有空间?

为什么用GHC 7.10.2构建的可执行文件同时具有librt和libc的依赖关系?

尽管有 RoleBinding(与 ClusterRoleBinding 相同),为什么这个 pod 在调用 Kubernetes API 时会得到 403 Forbidden?

为什么尽管有const限定符声明,嵌套结构成员仍会更改?

尽管有大量可用内存,为什么我的计算机确实真的很慢?

尽管有新的硬件和软件,为什么我的OpenGL版本仍停留在3.0?

为什么我的程序尽管有fgets部分,仍不接受输入?任何其他建议,欢迎

尽管有初始化,为什么我会收到“在初始化之前使用的变量‘网格’”错误?

为什么`libc6`依赖于`libgcc1`?

速度测试:尽管有些差异几乎没有,但为什么有些设备仍然受到限制?

尽管未设置其依赖项,但为什么 useEffect 仍在执行?

为什么我的电脑鼠标对灯管有反应?