我想在linux上使用我自己的一些函数创建一个动态库hello.so。使用ldd,它需要一些系统库,如libstdc ++。所以。
我想知道我是否可以修复这个hello.so将始终绑定到libstdc ++。所以在我的计算机中创建hello.so时。因此,我可以将hello.so和libstdc ++发送给其他人。
此致 丰
答案 0 :(得分:0)
制作具有分发功能的程序或库时 依赖于动态库(共享库,类似于unix的操作系统; Windows上的DLL)你接受它在任何操作上的可操作性 计算机受这些运行时的相同或兼容版本的可用性限制 依赖关系,即你只能分发到一个生态系统 兼容的主机。这是linux,Windows,MacOS的基础, android,iOS生态系统,它运作良好。
您是否要分发没有动态库的软件
依赖关系,以最大限度地提高其兼容性(以及超越
什么是通常寻求的那么你必须建立它
与static linkage,以便
binary本身包含它需要执行的所有代码。去做
这成功了,你必须已经在你的系统上安装了静态版本
您可以使用的所有库(例如libstdc++
)
默认情况下,链接工具链提供的动态版本。
除非您有一些特定的基本要求以静态方式提供 链接产品,不要担心这个。