gpt4 book ai didi

linux - 忽略 libstdc++.so.5 依赖项的 gcc 选项

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:28:22 31 4
gpt4 key购买 nike

在使用 gcc 构建共享库后,共享库构建正常,但是当我发出“ldd”时,它让我依赖于“libstdc++.so.5”,有什么方法可以告诉编译器忽略 gcc so 文件依赖

# ldd libtest.so 
libstdc++.so.5 => /opt/gcc/libstdc++.so.5
libsocket.so.1 => /lib/libsocket.so.1
libnsl.so.1 => /lib/libnsl.so.1
libc.so.1 => /lib/libc.so.1
libmp.so.2 => /lib/libmp.so.2
libmd.so.1 => /lib/libmd.so.1
libscf.so.1 => /lib/libscf.so.1
libdoor.so.1 => /lib/libdoor.so.1
libuutil.so.1 => /lib/libuutil.so.1
libgen.so.1 => /lib/libgen.so.1
libm.so.2 => /lib/libm.so.2
/platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr.so.1
/platform/SUNW,SPARC-Enterprise-T5220/lib/libmd_psr.so.1

我应该提供什么编译器选项来忽略像“libstdc++.so.5”这样的依赖项?

最佳答案

after building the shared librrary using gcc, the shared library builds fine, but when i issue "ldd" it give me the dependency on "libstdc++.so.5"

gcc 不会自动链接 libstdc++,g++ 会。因此,您要么使用 g++ 进行链接,要么传递 -lstdc++ 链接器选项。

您有几个选择:

  • 使用 gcc 构建和链接,而不是 g++,以确保 libstdc++ 不会自动链接。不要传递 -lstdc++ 链接器选项。显然,这仅适用于 C 代码。
  • 使用 g++ 构建和链接,并使用 -static-libstdc++ 链接阶段选项静态链接 libstdc++。

关于linux - 忽略 libstdc++.so.5 依赖项的 gcc 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7738639/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com