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

发布于 2024-12-23 02:58:28 字数 142 浏览 0 评论 0原文

这是我的解决方案:

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

我必须重复几次,直到所有需要的库都被cpoied。在某些情况下,我不知道库在哪里,也找不到它。

有什么办法可以让它变得更容易吗?

this is my solution:

I move the program to another computer without any lib installed, read the error messeges and copy the lib one by one.

I have to repeat it several time until all library required is cpoied. In some cases, I don't know where is the lib neither do find it.

Is there any way make it easier?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

就是爱搞怪 2024-12-30 02:58:28

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

编辑:
在linux上尝试binscan或ELF Library Viewer(来自J-16 SDiZ的SO回答) 。

Use Dependency Walker. It is a free utility that scans EXEs and DLLs, and builds a hierarchical tree diagram of all dependent modules.

Edit:
On linux try binscan or ELF Library Viewer (from SO answer by J-16 SDiZ).

昔日梦未散 2024-12-30 02:58:28

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

$ aptitude install foo   # debian and debian derivatives

下面这样简单:

$ yum install foo        # rpm based distributions

Use a package management system. They will differ depending on the flavor of linux, but just copying a binary from one machine to another is not the way to install software on a box. If you want to get /bin/foo from machine A, to machine B, figure out which package /bin/foo belongs to on A and then install that package on B. Downloading and installing all the dependencies should be as simple as:

$ aptitude install foo   # debian and debian derivatives

or

$ yum install foo        # rpm based distributions
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文