gpt4 book ai didi

linux - 修改可执行文件的链接路径

转载 作者:太空狗 更新时间:2023-10-29 12:30:27 24 4
gpt4 key购买 nike

ldd 实用程序显示二进制可执行文件依赖于哪些共享对象文件,还显示该二进制可执行文件在文件系统上的路径。

是否可以在现有可执行文件上修改此路径?例如,假设我有一个二进制“foo.so”,我说:

    libssl.so.0.9.8 => /opt/lib64/libssl.so.0.9.8

如果我将此 .so 文件部署到指定路径没有具有 lbssl.so.0.9.8 的机器,我当然会在使用 foo.so 时遇到链接器错误。那么,是否可以修改现有可执行文件的链接路径?

我意识到另一种解决方案是确保现有的链接路径指向一个有效的目标文件,实际上将目标文件复制到 ldd 显示的路径。但是假设我遇到的情况是不可行的。是否可以修改现有可执行文件的链接路径?

最佳答案

您所指的路径不是特定于可执行文件的。其系统特定。因此,当您将二进制文件从一台机器转移到另一台机器时,下一台机器可能具有完全不同的放置库设置。因此,机器 A 上的二进制文件可能链接到 /usr/lib 中的库,但下一台机器 B 可以配置为链接到 /home/test/lib 中的库。仅举个例子。

当您希望可执行文件链接到其他库(在/home/test/lib 中)而不是默认库时。您可以通过设置 LD_LIBRARY_PATH=/home/test/lib 来实现。

http://wiredrevolution.com/system-administration/how-to-correctly-use-ld_library_path

关于linux - 修改可执行文件的链接路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28903988/

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