gpt4 book ai didi

linux - 程序和安装库的依赖关系

转载 作者:太空宇宙 更新时间:2023-11-04 10:27:37 24 4
gpt4 key购买 nike

在我的 Linux Mint 中,我有一个程序,一个可执行文件。在终端中使用 ldd 我可以依赖这个可执行文件。 文件当在另一个系统中移动程序时,它不运行。

ldd 文件给出类似...

linux-vdso.so.1 =>  (0x00007ffc2a36d000)
libwx_gtk2u_stc-3.0.so.0 => /usr/lib/x86_64-linux-gnu/libwx_gtk2u_stc-3.0.so.0 (0x00007f2919d55000)
libwx_gtk2u_adv-3.0.so.0 => /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0 (0x00007f291996f000)
libwx_gtk2u_core-3.0.so.0 => /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0 (0x00007f29190f5000)
libwx_baseu-3.0.so.0 => /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0 (0x00007f2918c63000)
libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f291898e000)

......................

我如何知道所有这些库并只安装它需要运行到其他系统。

使用 objdump -p/path/to/program | grep NEEDED 我只能得到我需要的库吗?

谢谢!

最佳答案

ldd 的输出表明您已经在系统上安装了所有库依赖项。

它不能在另一个系统上运行的原因很可能是由于这些库的链接表不同,因此您的程序根本无法通过该地址找到它正在寻找的符号。

作为一个简单的解决方案,我建议在新机器上重新编译程序。

关于linux - 程序和安装库的依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41058599/

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