在创建.so时绑定动态库

时间:2017-05-05 03:18:10

标签: c++ binding shared-libraries

我想在linux上使用我自己的一些函数创建一个动态库hello.so。使用ldd,它需要一些系统库,如libstdc ++。所以。

我想知道我是否可以修复这个hello.so将始终绑定到libstdc ++。所以在我的计算机中创建hello.so时。因此,我可以将hello.so和libstdc ++发送给其他人。

此致 丰

1 个答案:

答案 0 :(得分:0)

制作具有分发功能的程序或库时 依赖于动态库(共享库,类似于unix的操作系统; Windows上的DLL)你接受它在任何操作上的可操作性 计算机受这些运行时的相同或兼容版本的可用性限制 依赖关系,即你只能分发到一个生态系统 兼容的主机。这是linux,Windows,MacOS的基础, android,iOS生态系统,它运作良好。

您是否要分发没有动态库的软件 依赖关系,以最大限度地提高其兼容性(以及超越 什么是通常寻求的那么你必须建立它 与static linkage,以便 binary本身包含它需要执行的所有代码。去做 这成功了,你必须已经在你的系统上安装了静态版本 您可以使用的所有库(例如libstdc++) 默认情况下,链接工具链提供的动态版本。

除非您有一些特定的基本要求以静态方式提供 链接产品,不要担心这个。