如何使程序动态库链接可移植?

时间:2011-12-29 10:59:37

标签: linux shared-libraries

这是我的解决方案:

我将程序移动到没有安装任何lib的另一台计算机,读取错误消息并逐个复制lib。

我必须重复几次,直到所有需要的图书馆都被删除。在某些情况下,我不知道lib在哪里找不到它。

有没有办法让它变得更容易?

2 个答案:

答案 0 :(得分:2)

使用Dependency Walker。它是一个免费的实用程序,可以扫描EXE和DLL,并构建所有相关模块的分层树形图。

修改 在linux try binscan or ELF Library Viewer上(来自J-16 SDiZ的SO回答)。

答案 1 :(得分:-1)

使用包管理系统。它们将根据linux的风格而有所不同,但只是将二进制文件从一台机器复制到另一台机器是而不是在盒子上安装软件的方式。如果你想从机器A到机器B获取/ bin / foo,找出哪个包/ bin / foo属于A,然后在B上安装该软件包。下载并安装所有依赖项应该如下所示: / p>

$ aptitude install foo   # debian and debian derivatives

$ yum install foo        # rpm based distributions